10-07-2008, 10:27 AM
regardes firebug, le contenu du fichier renvoyé (onglet console je crois)
si le contenu correspond à ce que tu veux, alors utilise javascript pour comprendre le message, ce n'est plus de l' "ajax" c'est de l'interprétation d'un texte en javascript.
le passage de variable et autre se fait grâce à l'écho du php qui te sert à alimenter
en fait tu passes des informations, pas des variables
tout est dans
xhr.responseText (ou xhr.responseXML si tu passes en XML)
à toi de réfléchir à ce que tu mets dans la chaine de caractères que tu renvoies
un truc simple :
je renvoie 0 suivi de # suivi d'un message d'erreur si le mouvement n'est pas possible
1 suivi de # suivi de ce que je veux afficher (mettre dans le innerHTML)
du coup au lieu d'avoir :
si le contenu correspond à ce que tu veux, alors utilise javascript pour comprendre le message, ce n'est plus de l' "ajax" c'est de l'interprétation d'un texte en javascript.
le passage de variable et autre se fait grâce à l'écho du php qui te sert à alimenter
en fait tu passes des informations, pas des variables
tout est dans
xhr.responseText (ou xhr.responseXML si tu passes en XML)
à toi de réfléchir à ce que tu mets dans la chaine de caractères que tu renvoies
un truc simple :
je renvoie 0 suivi de # suivi d'un message d'erreur si le mouvement n'est pas possible
1 suivi de # suivi de ce que je veux afficher (mettre dans le innerHTML)
du coup au lieu d'avoir :
Code PHP :
<?php
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
{
document.getElementById("myResult").innerHTML = xhr.responseText;
}
}
je fais
Code PHP :
<?php
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
{
var rep = xhr.responseText.split('#');
if (rep[0] == 0)
{
// traitement de l'erreur
alert(rep[1]);
}
else
{
// tout marche
document.getElementById("myResult").innerHTML = rep[1] ;
}
}
}