AJAX : problème de compatibilité IE / Firefox - HTML/CSS - Programmation
Marsh Posté le 22-08-2009 à 21:23:46
Ton problème est certainement cette ligne : en utilisant le mode synchrone, le callback onreadystatechange ne devrait normallement pas être appelé.
Code :
|
Bref, utilise un mode asynchrone, comme ce qui est fait pratiquement partout ailleur.
Marsh Posté le 04-09-2009 à 01:16:11
Avez vous trouvé votre réponse ?
J'ai le même problème (Ajax fonctionne sous IE et pas sous Firefox ni chrome) donc ça m'intéresse.
Voici mon code javascript qui lance la requete Ajax :
Code :
|
Mon code de test.php est assez basic (pas de php dedans pour l'instant):
Code :
|
Sur IE j'ai req.readyState=4, req.status=200 et req.responseText contient bien ce que je veux.
Sur Chrome j'ai req.readyState=4, req.status=0 et req.responseText contient bien ce que je veux.
Sur Firefox j'ai rien, je ne passe pas dans la réponse !
Avec un GET au lieu de POST même résultat... Je désespère!
Marsh Posté le 04-09-2009 à 09:00:34
Il fallait lire :
Sur Chrome j'ai req.readyState=4, req.status=0 et req.responseText NE CONTIENT PAS ce que je veux.
Marsh Posté le 22-08-2009 à 02:17:13
Bonjour,
J'ai un code qui fonctionne sous IE. Mais je n'arrive décidément pas à le faire fonctionner sous FireFox. Qqun pourrait-il m'aider svp ??? J'ai regardé les post précédents sur differents forums (le sujet est souvent traité) mais je n'arrive pas à trouver pour autant le problème chez moi.... Voici mon code:
<script language="text/JavaScript">
var xhr_object = null;
function SendGetRequest(type) {
if (window.XMLHttpRequest)
{ // Pour Firefox
xhr_object = new XMLHttpRequest();
} else if (window.ActiveXObject)
{ // Pour IE
xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
} else
{ // Navigateur non-compatible
alert('Ton navigateur ne supporte pas les objets XMLHTTPRequest...');
return;
}
xhr_object.open('POST','authentification.php',false);
xhr_object.setRequestHeader("Content-type","application/x-www-form-urlencoded" );
xhr_object.onreadystatechange = CallBackRequest1;
data="username=test&password=test";
xhr_object.send(data);
}
function CallBackRequest1() // Traite la reponse du traitement dans le fichier PHP
{
if ( xhr_object.readyState == 4)
{
retour=xhr_object.responseText.split(":" );
alert(retour[1]);
if (retour[1]=="You are logged on" )
{
alert("Be careful !!!! Don't use the arrows of your browser to go to the preview or next page !" );
document.getElementById('entree').style.height="85%";
document.getElementById('login').innerHTML = "Bonjour, "+retour[0]+" !";
}
}
}
</script>
....
<input type=button value=OK onclick="SendGetRequest(1);">
MERCI bien !!!!!