Bonjour.
Ci-dessous mon code JavaScript AJAX :
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 36 37 38
| function getXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert ("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function request (callback) {
var xhr= getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200|| xhr.status == 0)) {
callback(xhr.responseText);
}
};
var user = encodeURIComponent(document.getElementById('user').value);
var pwd = encodeURIComponent(document.getElementById('pwd').value);
xhr.open("GET", "../Controleur/controlindex.php?user=" + user + "&pwd=" + pwd, true);
xhr.send(null);
}
function readData(sData) {
switch (parseInt(sData)) {
case 1: alert('Accès refusé. Cause : Votre identifiant est inconnue'); break;
case 2: alert('Accès refusé. Cause : Votre mot de passe est incorrect.'); break;
}
} |
Le problème, c'est que dans la ligne :
xhr.open("GET", "../Controleur/controlindex.php?user=" + user + "&pwd=" + pwd, true);
Lorsque le troisième argument vaut true (pour asynchrone), les alert ne s'affichent pas. Mais lorsque le troisième argument vaut false (pour synchrone), les alert s'affichent.
Que faut-il faire pour que cela fonctionne en asynchrone?
Merci
Partager