Problem ajax

Résolu
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008 - 29 août 2008 à 09:16
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 4 sept. 2008 à 08:06
Bonjour a tous
voila j'ai un probleme dans mon code sur une ligne seulement
xhr.send("idAuteur2="idAuteur2&"idAuteur="+idAuteur);

quelqu'un saurait qu'est qui ne vas pas dans cette syntaxe ??
je sais que c'est possible de faire passer plusieur element avec cette méthode mais j'arrive pas a trouvé la bonne syntaxe HELP SVP

29 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2008 à 13:52
bonjour,

"normalement" ça devrait fonctionner !
xhr.send("idAuteur2="+idAuteur2+"&idAuteur="+idAuteur);

maintenant... soit tu ne fais pas tout à fait comme ça, soit ton erreur est due
à une variable non déclarée, soit ton erreur est "ailleurs",
soit... mais au fait c'est quoi l'erreur ?
une erreur de syntaxe ? une erreur de comportement ? une erreur de logique ? ....
tu as un message d'erreur ? un résultat inattendu ? pas de résultat du tout ?

on n'a pas assez de billes à priori....

déjà :
FireFox
, regarder la "console d'erreurs"
Outils / Console d'erreurs
et mieux : télécharger mon Site] [M'écrire], <!--
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 sept. 2008 à 11:00
et ben... là c'était coté php qu'on "traitait mal" le $_POST
idAuteur n'étant pas défini, il y avait une erreur,
coté php, puisque coté javascript c'est une chaîne de caractères
Cordialement    Bul  [mon Site] [M'écrire], <!--
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
29 août 2008 à 09:52
Bonjour,
j'écrirais peu être ceci

"idAuteur2=


"


+ idAuteur2 +


"


&idAuteur =


"


+ idAuteur
si
idAuteur2 et idAuteursont des variables...
;O)
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
29 août 2008 à 10:31
erf alors oui elles sont déclarés
idauteur = sel.options[sel.selectedIndex].value;
 idauteur2 = sel.options[sel.selectedIndex].value;
EN FAITE TOUT  marche sauf la ligne xhr.send
et avec ce que tu m'as mis sa ne marche pas : /
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2008 à 13:58
si ça se trouve, par exemple,  tu fais un envoi en method get ?
comme on n'a pas l'open...
car là les paramètres doivent être mis derrière l'url pas dans le send
CordialementBul[mon Site][M'écrire], <!--
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
29 août 2008 à 16:28
alors la methode j'ai testé les deux sa ne change rien(post,get) mais bon maintenant je sais directement laquelle utilisé ensuite
je sais que cela fonctionne au nivo de mes variables j'ai fais un alert idauteur, et d'idauteur2 le resutlat apparait, mais
*/

            function go(){
                var xhr = getXhr();
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                                        if(xhr.readyState 4 && xhr.status 200){
                        leselect = xhr.responseText;
                 
                        document.getElementById('livre').innerHTML = leselect;
                    }
                }

                // method POST
                xhr.open("POST","ajax_livre2.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                //  poster les arguments
                // ici, l'id de l'ordinateur
                sel = document.getElementById('auteur');
                idauteur = sel.options[sel.selectedIndex].value;
               
                //ici l'id de l'utilisateur
               
                sel = document.getElementById('auteur2');
   
                idauteur2 = sel.options[sel.selectedIndex].value;
            xhr.send("idauteur2="+idauteur2+"&idauteur="+idauteur);
                      

            }

ne fonctionne pas
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2008 à 16:52
>>'ai testé les deux sa ne change rien(post,get)
ah ben si ! ça ne peut pas ne pas changer !! c'est l'un ou l'autre !
et si les paramètres sont mal transmis, ça ne peut que queuter...
et/ou alors l'erreur est ailleurs ! ( dans le php ? va savoir )
tu ne réponds d'ailleurs pas ! je me cite :  mais au fait c'est quoi l'erreur ?
CordialementBul[mon Site][M'écrire], <!--
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
30 août 2008 à 15:59
Bonjour,
à tester en utilisant la méthode escape
sur la récupération des datas...

  // ici, l'id de l'ordinateur

  var sel = document.getElementById('auteur');
  var idauteur
= escape(sel.options[sel.selectedIndex].value);
  //ici l'id de l'utilisateur

  sel = document.getElementById('auteur2');
  var idauteur2 =
escape(sel.options[sel.selectedIndex].value);

  xhr.send("idauteur2="+idauteur2+"&idauteur="+idauteur);

on
ne sait jamais...
;O)
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
31 août 2008 à 17:10
bah ecoute r je vais tester demain et vous dire si sa marche
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
1 sept. 2008 à 08:41
ben le truc qui se passe c'est que la fonctionne fonctionne si j'ai les elements séparé, si dans la requete xhr.send je ne passe qu'une valeur sa fonctionne dès que j'essais de mettre les deux sa ne fonctionne plus. mais séparement les deux fonctionnent et la fonction escape ne fonctionne pas :(
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 sept. 2008 à 09:45
>>je ne passe qu'une valeur sa fonctionne dès que j'essais de mettre les deux sa ne fonctionne plus
mais encore ?
ça plante coté javascript ?
c'est le serveur qui ne reçoit pas les 2 variables ?

>> fonction escape ne fonctionne pas
comment ça ?  c'est à dire que escape ou pas, le résultat est le même ?
petoelTea suggérait une piste, car on n'a que peu de billes !
et surtout pas tout ce qu'il faut pour voir si l'erreur est ailleurs de ce que tu nous montres.

CordialementBul[mon Site][M'écrire], <!--
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
1 sept. 2008 à 11:58
erf désolé de mal exprimé mon probleme
ben il ne se passe absolument rien,
lorsque j'utilise la fonction : " xhr.send("idAuteur="+idAuteur);  "
TOUT MARCHE j'ai aucune erreur, j'ai mes valeurs qui apparaissent en temps réelle, SUPER !!
Maintenant je veux rajouté l'élement "       xhr.send("idauteur2="+idauteur2+"&idauteur="+idauteur); "
finis sa marche pas, et aucun message d'erreur n'apparait alors je me dis que c'est mon "idauteur2" qui bloque alors je fais
" xhr.send("idAuteur2="+idAuteur2);  " sa fonctionne aussi.
Donc je le sais que mon erreur se situe qu'as un endroit :
"      xhr.send("idauteur2="+idauteur2+"&idauteur="+idauteur); ""
alors tout se que vous m'avez ennoncer semble logique, mais malheuresement pour ma tête(qui surchauffe depuis 5 jours) sa ne fonctionne toujours pas .
la fonction escape fonctionne mais qu'avec une variable.
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
1 sept. 2008 à 11:59
ah et je voulais particulierement vous remerciez d'essayer de m'aider ! ça fait toujours plaisir de voir qu'il y a des mordus de programmation
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 sept. 2008 à 12:08
qu'est-ce qui est reçu coté serveur ?

c'est transmis s'il y a 2 paramètres ou pas ?

parce que pas de mystères :
soit c'est une erreur coté javascript, et dans ce cas, rien ne part
soit c'est une erreur coté serveur ( PHP ? ), et dans ce cas, ça part.

il faut déterminer où ça queute dans un 1er temps...

Cordialement   Bul  [mon Site] [M'écrire], <!--
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
1 sept. 2008 à 16:54
coté javascript coté php y a aucune soucis tout fonctionne !!!! comme je les dis c'est dans la fonction xhr.send le problème se situe ici
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
1 sept. 2008 à 19:01
Bonjour,
en désespoir de cause, en concaténant
avant passage en paramètre...

  // ici, l'id de l'ordinateur

  var sel = document.getElementById('auteur');
  var idauteur
= escape(sel.options[sel.selectedIndex].value);
   //ici l'id de l'utilisateur
  sel =
document.getElementById('auteur2');
  var idauteur2 =
escape(sel.options[sel.selectedIndex].value);
  //-- on
se sait jamais --//
  var data = "idauteur2=" +idauteur2
+"&idauteur=" +idauteur;
  xhr.send( data);
Wait and See...

;O)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2008 à 07:11
je ne comprend pas....
si en php ça fonctionne, et si en javascript ça fonctionne...
ben alors ? qu'est-ce qui ne fonctionne pas ?      
il y a quelque chose qui m'échappe là !

si tu mets 2 paramètres, qu'est-ce qui est reçu coté php
si tout se passe bien coté javascript ?
CordialementBul[mon Site][M'écrire], <!--
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
2 sept. 2008 à 09:16
ce qui ne marche pas c'est ça   xhr.send("idauteur2="+idauteur2+"&idauteur="+idauteur); ""
tout simplement tout fonctionne sauf cette fonction
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2008 à 09:52
comment peut-tu dire alors que coté php ça baigne ?
rien n'est envoyé !

et ça ne fonctionnne pas pourquoi ?

    peut-être parce que var xhr = getXhr(); ne fonctionne pas.
        tu as fait un alert pour voir ?
        qu'y a-t-il dans ce getXhr ?  
        ça devrait être un truc du genre :
function getXhr()
{  var xml;

   try         { xml = new XMLHttpRequest();   }                                       

   catch (e)   { try        { xml = new ActiveXObject('Microsoft.XMLHTTP');   }

                 catch (e)  { try        { xml = new ActiveXObject('Msxml2.XMLHTTP');   }

                              catch (e)  { xml=false;  }

               }

   return xml;

}

    ou alors tu as une erreur de syntaxe sur la ligne
      xhr.send("idauteur2="+idauteur2+"&idauteur="+idauteur); ""    erreur de copié collé ?
   ou idauteur ou idauteur2 ne sont pas définis
       ou leur contenu est invalide !    tu as fait un alert juste avant le send ? c'est ok ?

   ou alors tu as une fonction send qui détuit la vraie ?

CordialementBul[mon Site][M'écrire], <!--
0
cs_pyobour Messages postés 90 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
2 sept. 2008 à 10:09
alors je n'ai pas d'autre fonction send
et au nivo de l'alert cela fonctionne que lorsque dans la fonction xhr.send je ne met qu'une variable vous etes sur que c'est possible de passer deux valeurs ?
de plus je ne peux faire un alert de " xhr" qu'avant la declaration de la derniere ligne(   xhr.send("idauteur2= "+idauteur2+"&idauteur="+idauteur); ""    ) et j'obtiens [ objet XMLrequest]
mais si je met mon alert apres le xhr.send . . . rien

apres lorsque j'utilise "xhr.send("idAuteur ="+idAuteur);" j'obtient la valeur souhaité en alerte ....
sa me rend fou toute cette histoire
0
Rejoignez-nous