Question

Je travaille sur une version hors ligne d'un site Web à l'aide de jQuery et de certains fichiers xml. Je rencontre un problème dans jQuery lorsque je passe un appel $ .ajax sur un fichier XML. JQuery génère une erreur.

Lorsque je regarde l'erreur, je peux dire qu'il charge le fichier XML parce que c'est dans la propriété responceText de l'erreur. Il semble fonctionner parfaitement dans Firefox.

Voici à quoi ressemble mon appel

$.ajax({
    type: "GET",
    url: "Modules/" + ModuleID + "/ModuleContent.xml",
    dataType: "xml",
    success: function(x) { xml = x; ProcessXML(); },
    error: function(x) { alert(x.responceText); }
});

Lorsque je lance ceci sur un serveur Web, cela fonctionne très bien. Ce n'est que lorsque je l'exécute à partir du fichier lui-même lorsque j'ai ce problème.

Des idées sur la manière dont je peux faire en sorte que cela fonctionne dans IE?

Edit: j'ai trouvé la réponse à mon problème. ici

Était-ce utile?

La solution

À partir du lien que le PO a posté avec la réponse:

  

Lors du chargement de fichiers XML localement, par exemple une   CD-ROM, etc., les données reçues par   Internet Explorer est en texte brut, pas   text / xml. Dans ce cas, utilisez le   Paramètre dataType pour charger le XML   fichier en tant que texte et analyser le   données dans la fonction succes

 $.ajax({
   url: "data.xml",
   dataType: ($.browser.msie) ? "text" : "xml",
   success: function(data){
     var xml;
     if (typeof data == "string") {
       xml = new ActiveXObject("Microsoft.XMLDOM");
       xml.async = false;
       xml.loadXML(data);
     } else {
       xml = data;
     }
     // Returned data available in object "xml"
   }
 }); 

Cela a également fonctionné pour moi.

Autres conseils

Juste une pensée: je me souviens de quelques échecs de requêtes GET avec IE. Avez-vous essayé de le poster?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top