IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

POST ou XMLHttpRequest ?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Expert confirm�

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    D�tails du profil
    Informations personnelles :
    �ge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par d�faut POST ou XMLHttpRequest ?
    Bonjour

    J'ai un petit probl�me au niveau Javascript/Php. J'ai �galement post� dans le forum PHP et je vais inclure le lien iici

    En simple r�sum� :

    est-ce que avoir une form qui contient une action de type POST et un bouton SUBMIT peut �tre remplac�e par une div contenant un bouton qui va envoyer une requ�te htttp de type POST ?

    Est-ce que du point de vue du destinataire (c'est une tierce partie sur un autre site) c'est identique ??



    Merci de vos points de vue / explications

  2. #2
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 520
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 520
    Par d�faut
    Bonjour,

    Oui, vous pouvez faire ceci avec la fonction fetch par exemple, qui permet de construire et envoyer une requ�te xmlhttprequest avec les donn�es transmises.

    Le plus important c'est d'attacher un �couteur de clic au bouton correspondant..

  3. #3
    Expert confirm�

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    D�tails du profil
    Informations personnelles :
    �ge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par d�faut
    Merci

    En fait c'est pour accrocher des paiements Paypal..

    J'ai une page avec plusieurs objets (2, dont 1 en quantit� variable)..

    Le code pour ajouter au panier est :

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
      <input type="hidden" name="cmd" value="_s-xclick" />
      <input type="hidden" name="hosted_button_id" value="XXXXX" />
      <input type="hidden" name="currency_code" value="CAD" />
      <input type="image" src="https://www.paypalobjects.com/fr_CA/i/btn/btn_cart_LG.gif" border="0" name="submit" title="PayPal, le réflexe sécurité pour payer en ligne" alt="Ajouter au panier" />
    </form>

    Je suppose que si je transform ceci en :

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <div>
      <input type="hidden" name="cmd" value="_s-xclick" />
      <input type="hidden" name="hosted_button_id" value="XXXXX" />
      <input type="hidden" name="currency_code" value="CAD" />
      <input type="image" id=ok name=ok alt="Ajouter au panier" onclick=envoi() />
    </div>

    et

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function envoi(){
         var s;
         s = "cmd=\"_s-xclick\" hosted_button_id=\"XXXXX\" currency_code=\"CAD\" submit=true";
         post ("https://www.paypal.com/cgi-bin/webscr",s, yy, zz, true);
    }
     
    function post(url,a,cb,d,erf,sy){var r=gXhr();    
        r.addEventListener("load",function(){
               if(this.status>=200 && this.status<400){
                      if(cb!= null){
                            cb(d,this.responseText);}
                      else 
                          alert("REP "+this.responseText)}
              else{
                   if(erf!=null)erf(this.status+" "+this.statusText);
                  else alert("Erreur réseau "+this.status+" "+this.statusText)}
        });
        r.addEventListener("error",function(){
                     if(erf!=null)erf("Erreur réseau "+this.status+" "+this.statusText);
                     else alert("Erreur réseau "+this.status+" "+this.statusText)
     
        });
        r.open("POST",url,sy);
        r.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        r.send(a);
    }

    ou bien en cr�ant un FormData message...

    �a marcherait, non ?

    Merci

  4. #4
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 520
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 520
    Par d�faut
    Bonjour,

    Je vois des trucs qui clochent :
    • Absence des guillemets ou apostrophes autour des valeurs des attributs id et name <input ... id=ok name=ok ... onclick=envoi() />
    • La d�claration de la fonction function post(url,a,cb,d,erf,sy) avec 6 param�tres, mais l'appelle avec 5 seulement post ("https://www.paypal.com/cgi-bin/webscr",s, yy, zz, true);
    • Utilisez des noms de param�tres/variables explicites au lieu de a,cb,d,erf,sy,s,yy,zz


    Apart �a, je pense que �a marcherait oui, mais vous utilisez l'ancienne m�thode, maintenant il existe fetch comme je vous l'ai dit.

  5. #5
    Expert confirm�

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    D�tails du profil
    Informations personnelles :
    �ge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par d�faut
    Bonjour Toufik

    Citation Envoy� par Toufik83 Voir le message
    Je vois des trucs qui clochent :
    • Absence des guilleumets ou apostrophes autour des valeurs des attributs id et name <input ... id=ok name=ok ... onclick=envoi() />
    • La d�claration de la fonction function post(url,a,cb,d,erf,sy) avec 6 param�tres, mais l'appelle avec 5 seulement post ("https://www.paypal.com/cgi-bin/webscr",s, yy, zz, true);
    oui j'ai �t� vite fait, car c'est pas le coeur de ma question.. J'ai plus de 95000 lignes de code javascript fonctionnelles...

    Citation Envoy� par Toufik83 Voir le message
    • Utilisez des noms de param�tres/variables explicites au lieu de a,cb,d,erf,sy,s,yy,zz
    Minifcation ??? pour quelque chose d'op�rationnel c'est essentiel.


    Citation Envoy� par Toufik83 Voir le message
    Apart �a, je pense que �a marcherait oui, mais vous utilisez l'ancienne m�thode, maintenant il existe fetch comme je vous l'ai dit.
    Oui je te remercie j'ai vite regard�, et j'approfondirais demain..

    Merci

  6. #6
    Membre actif
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2015
    Messages
    44
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 44
    Par d�faut
    L'absence de guillemets autour des valeurs des attributs HTML est une possibilit� mais n'est pas recommand�.

    Pour le JS, vous pouvez �viter d'�chapper les guillemets avec des antislashs, par exemple en jouant avec les guillemets simples et double, mais ils y a en r�alit� bien mieux encore : les litt�raux de gabarits.

    https://developer.mozilla.org/fr/doc...plate_literals

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [AJAX] XMLHttpRequest et envoi POST
    Par woodyfrance dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 28/02/2008, 15h52
  2. [AJAX] Checkbox, post et XmlHttpRequest
    Par hikwest dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 22/01/2008, 13h10
  3. [AJAX] Checkbox, post et XmlHttpRequest
    Par hikwest dans le forum AJAX
    R�ponses: 0
    Dernier message: 22/01/2008, 13h10
  4. XMLHttpRequest en mode POST
    Par Mobius dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 21/06/2006, 11h12
  5. Transfert de param�tre en POST via XmlHttpRequest
    Par hdd dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 13/05/2006, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo