[AJAX] comment savoir si send à fonctionné correctement?
Bonjour, j'ai un problème avec mon code et je n'arrive pas à voir d'ou ça vient. J'ai l'impression que mes données ne sont pas envoyées mais je ne comprend pas ce qui bloque. Je voulais voir s'il n'y avait pas une valeur de retour pour la methode send mais je crois que non donc je peux pas verifier si c'est envoyé correctement ou non.
Je vous met mon code, si vous voyez une erreur, moi j'arrive pas à la trouvé...
Code:
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 27 28 29 30 31 32 33 34 35
| function suppr(quoi){
var tab = document.getElementsByName("check" + quoi);
var ok = confirm("Etes vous s\373r de vouloir effacer ces lignes?");
var xhr = null;
if (window.XMLHttpRequest)
xhr = new XMLHttpRequest();
else if (window.ActiveXObject)
xhr = new ActiveXObject("Microsoft.XMLHTTP");
else {
alert ("votre navigateur ne supporte pas les objets XMLHttpRequest...");
return;
}
var data = "";
xhr.open("POST", "http://serv_infoc/ogf/SB/req.asp", true);
if(ok){
for(i=tab.length-1; i>=0; i=i-1){
if(tab[i].checked){
if(document.getElementById("idSBlie" + i)){
xhr.onreadystatechange = function(){
if (xhr.readyState == 4)
alert("reponse: " + xhr.responseText);
}
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
if(data == "")
data = "listSB=" + document.getElementById("idSBlie" + i).value;
else
data = data + "$" + document.getElementById("idSBlie" + i).value;
}
tab[i].parentNode.parentNode.parentNode.removeChild(tab[i].parentNode.parentNode);
}
}
alert(data);
xhr.send(data);
}
} |
et dans ma page req.asp je fait juste un test pour voir ce que j'ai recuperé:
Code:
1 2 3
| If request("listSB") Then
Response.Write request("listSB")
End If |
mon problème c'est que si je n'enleve qu'une seule ligne alors tout vas bien, mais si j'en enleve 2 ça va plus, j'ai bien data qui s'affiche mais xhr.responseText ne contient rien (et meme listSB avant cela). Peut etre est-ce le $ qui ne fonctionne pas mais j'ai essayé avec d'autres choses et c'est pas mieux.
Si vous avez une idée... merci d'avance.