XMLHttpRequest () ne fonctionne pas avec IE

Le script ci-dessous fonctionne bien avec Firefox et Chrome, mais je ne peux pas le faire fonctionner, c'est-à-dire, j'ai tout essayé, j'ai même abaissé la sécurité sur mon navigateur pour voir si cela le bloquait, mais je ne peux toujours pas le faire fonctionner.

function postData() { var http = new XMLHttpRequest(); var url = "/scripts/remove_fr.php"; var params = ""; http.open("GET", url, true); //Send the proper header information along with the request http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.setRequestHeader("Content-length", params.length); http.setRequestHeader("Connection", "close"); http.onreadystatechange = function() { //Call a function when the state changes. if(http.readyState == 4 && http.status == 200) { } } http.send(params); } $("#qwerty").click(function () { $('#qwerty').remove(); }); </script> 

Vous utilisez déjà jQuery, alors utilisez les fonctions d'utilité AJAX de jQuery ! N'essayez pas de rouler soi-même; L'API XMLHttpRequest est moche et ennuyeuse.

Je voudrais fournir un exemple de code, mais en ce moment, ce que vous avez compris, c'est simplement:

 $.get("/scripts/remove_fr.php"); 

Ce n'est pas un exemple. 😉

Au-dessous d'IE7, il utilise des objets ActiveXObject au lieu de XMLHttpRequest Donc, votre code devrait être comme ceci:

 function postData() { var http; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari http = new XMLHttpRequest(); } else { // code for IE6, IE5 http = new ActiveXObject("Microsoft.XMLHTTP"); } var url = "/scripts/remove_fr.php"; var params = ""; http.open("GET", url, true); //Send the proper header information along with the request http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.setRequestHeader("Content-length", params.length); http.setRequestHeader("Connection", "close"); http.onreadystatechange = function() { //Call a function when the state changes. if(http.readyState == 4 && http.status == 200) { } } http.send(params); } 

Pouvez-vous essayer ce code, cela obtient XMLHttpRequest basé sur le navigateur.

 if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } 

Veuillez vous référer au lien pour les détails w3schools