[ajax/debutante] envoi PLRS parametres post

Résolu
sou2a Messages postés 18 Statut Membre -  
sou2a Messages postés 18 Statut Membre -
Bonjour,
j ai un fichier php: verification.php
j ai une page html qui contient une fonction js avec instanciation de l objet xhr et appel de la page verification.php

j aimerai envoyer plusieurs parametres avec la methode post grace a l bjet xhr

voila comment ca se passe avec la methode get grace a l bjet xhr:
XHR.open("GET",'verification.php?mot=abc, true);

mais comment ca se passe pour plusieurs paramtres et la methode post?????????
peut etre que ce n est pas possible!!
en tout merci a celui qui m enverra la reponse ca serait vraiment tro sympa
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    Salut,

    inspires toi de ça:
    je ne l'ai pas appelé xlr mais http_request , mai sle principe est le même.
    C'est un peu comme en GET qd on en mêt plusieus parametres dans l'URL tu mets des & entre

    http_request.open('POST', url, true);
    		//changer le type MIME de la requête pour envoyer des données avec la méthode POST ,  !!!! cette ligne doit etre absolument apres http_request.open('POST'....
    		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    		obj=document.getElementById(id_date_a_charger);
    		obj2=document.getElementById(id_onglet_crt);
    		data="date_fich="+obj.value+"&id_client="+id_client+"&num_onglet="+obj2.value;
    		//alert("Data envoyees: "+data);
            http_request.send(data);
    
    0
    1. sou2a Messages postés 18 Statut Membre
       
      merci bcp bcp bcp bcp
      mais pourrais tu me renvoyer le code car la partie droite n'est
      pas visible à cause des publicités
      0
    2. Alain_42 Messages postés 5413 Statut Membre 904 > sou2a Messages postés 18 Statut Membre
       
      Ok pourtant ce qui est affiché juste au dessus est à l'image de ce qu eje t'ai envoyé:

      // lancement de la requete
      http_request.open('POST', url, true);
      
      //changer le type MIME de la requête pour envoyer des données avec la méthode POST ,  !!!! cette ligne doit etre absolument apres http_request.open('POST'....
      
      http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      
      obj=document.getElementById(id_date_a_charger);
      obj2=document.getElementById(id_onglet_crt);
      data="date_fich="+obj.value+"&id_client="+id_client+"&num_onglet="+obj2.value;
      //alert("Data envoyees: "+data);
       http_request.send(data);
      
      0
    3. sou2a Messages postés 18 Statut Membre > Alain_42 Messages postés 5413 Statut Membre
       
      finalement j avais reussi a comprendre mais merci de me l avoir renvoyer quand meme!!!
      donc voila ce que j ai fait:

      XHR.open('POST',url, true);
      XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      var data="mot1=abcd&mot2=efgh";
      XHR.send(data);


      et dans la page .php:
      $mott1 = addslashes($_POST["mot2"]);
      $mott2 = addslashes($_POST["mot2"]);
      +.....traitement et affichage texte



      mais ca ne marche pas!!
      0
    4. sou2a Messages postés 18 Statut Membre > Alain_42 Messages postés 5413 Statut Membre
       
      en fait finalement ca marche le traitement est effectué (ajout dans une table mysql)
      mais l affichage ne marche pas

      dans la page html
      XHR.onreadystatechange = function attente()
      {

      // l'état est à 4, requête reçu !
      if(XHR.readyState == 4) {
      alert("requete recue!!");
      // ecriture de la réponse
      document.getElementById(cadre).innerHTML = XHR.responseText;



      }
      }
      XHR.send(null); // le travail est terminé


      et dans la page .php apres l ajout:
      echo"ajout reussi";



      normalement "ajout reussi" s affichedans une division de la page html
      maic c pas le cas
      il y a un retour en arriere (au web local)
      0
    5. Alain_42 Messages postés 5413 Statut Membre 904 > sou2a Messages postés 18 Statut Membre
       

      alert("requete recue!!");
      // ecriture de la réponse
      document.getElementById(cadre).innerHTML = XHR.responseText;



      as tu l'alerte "requette reçue" ?

      cadre correspond à quoi ?

      un argument de ta fonction, ou l'id du <div où tu veus l'affichage, dans ce dernier cas il faut ('cadre') et pas (cadre)
      0