[ajax/debutante] envoi PLRS parametres post

Résolu/Fermé
sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009 - 13 mars 2008 à 16:59
sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009 - 18 mars 2008 à 18:01
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

1 réponse

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 mars 2008 à 17:10
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
sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009
13 mars 2008 à 17:31
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009
13 mars 2008 à 18:05
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
sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
13 mars 2008 à 18:15
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
sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
13 mars 2008 à 18:40
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > sou2a Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 27 novembre 2009
14 mars 2008 à 20:11

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