Fichier html local AJAX Call et jQuery Woes
-
22-07-2019 - |
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
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?