je le morceau de code suivant:Pourquoi IE n'affiche-t-il pas cette alerte()?
// setup the AJAX request
var pageRequest = false;
if(window.XMLHttpRequest) pageRequest = new XMLHttpRequest();
else if(window.ActiveXObject) pageRequest = new ActiveXObject("Microsoft.XMLHTTP");
// callback
pageRequest.onreadystatechange = function() {
alert('pageRequest.readyState: ' + pageRequest.readyState
+ '\npageRequest.status: ' + pageRequest.status);
}
pageRequest.open('POST','ajax.php',true);
// q_str contains something like 'data=value...'
pageRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
pageRequest.setRequestHeader("Content-length", q_str.length);
pageRequest.setRequestHeader("Connection", "close");
pageRequest.send(q_str);
Cela fonctionne bien dans Chrome, mais IE selfs sur elle, crachant une « erreur non spécifiée ». et il pointe vers la ligne avec l'alerte() dedans. Pourquoi ne peut-il pas afficher l'alerte?
Edit: D'accord, après que je rejette la boîte de dialogue d'erreur, je reçois trois alertes comme prévu ....
Edit: Maintenant, il est vraiment obtenir bizarre. Si je change
alert('pageRequest.readyState: ' + pageRequest.readyState
+ '\npageRequest.status: ' + pageRequest.status);
à
alert('pageRequest.readyState: ' + pageRequest.readyState);
il fonctionne et je reçois 5 alertes. (1,1,2,3,4)
Êtes-vous sûr que pageRequest est construit correctement? Si vous l'exécutez localement, IE refuse l'utilisation d'ActiveX aux pages locales par défaut. –
Je l'utilise sur mon serveur Web local. –
Vous pourriez supporter un; après votre}. Peut-être que c'est lié. –