2009-01-12 11 views
11

Je travaille sur une version hors ligne d'un site Web en utilisant jQuery et certains fichiers xml. Je cours dans un problème dans jQuery quand je fais un appel de $ .ajax sur un fichier xml jQuery jette une erreur.Fichier html local AJAX Call et jQuery Woes

Lorsque je regarde l'erreur je peux dire son chargement du fichier XML parce que c'est dans la propriété responceText de l'erreur. Il semble fonctionner correctement dans Firefox.

Voici comment mon appel semble

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

Quand j'exécuter sur un serveur web, il fonctionne très bien. C'est seulement quand je l'exécute à partir du fichier lui-même quand j'ai ce problème.

Des idées sur comment je peux faire ce travail dans IE?

Editer: J'ai trouvé la réponse à mon problème. Here

+1

Content que vous ayez trouvé votre réponse. Vous pouvez réellement poster une réponse ici et l'accepter par souci de clarté, si vous avez envie de l'écrire. –

+0

Je déteste ce problème: https://bugs.jquery.com/ticket/14475 – bgmCoder

Répondre

8

Du link que l'OP a affiché la réponse:

Lors du chargement des fichiers XML localement, par exemple un CD-ROM etc., les données reçues par Internet Explorer est texte brut, pas text/xml. Dans ce cas, utilisez le paramètre dataType pour charger le fichier xml sous forme de texte, et analyser les données renvoyées au sein de la fonction

succés

$.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 fonctionné pour moi aussi.

1

Juste une pensée: Je me souviens de certaines demandes d'échec GET avec IE. Avez-vous essayé de le poster?

+0

Nope n'a pas fonctionné même problème. – Superdumbell