2009-01-12 7 views
11

Ich arbeite an einer Offline-Version einer Website mit jQuery und einigen XML-Dateien. Ich renne zu einem Problem in jQuery, wenn ich einen $ .ajax Aufruf für eine XML-Datei mache jQuery wirft einen Fehler.Lokale HTML-Datei AJAX Call und jQuery Woes

Wenn ich mir den Fehler anschaue, kann ich sagen, dass die XML-Datei geladen wird, weil sie in der responceText-Eigenschaft des Fehlers enthalten ist. Es scheint in Firefox gut zu funktionieren. Diese

ist, wie mein Ruf

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

sieht Wenn ich dies auf einem Webserver ausführen es funktioniert gut. Es ist nur, wenn ich es von der Datei selbst aus führe, wenn ich dieses Problem habe.

Irgendwelche Ideen, wie ich das im IE arbeiten kann?

Edit: Ich habe die Antwort auf mein Problem gefunden. Here

+1

Froh, dass Sie Ihre Antwort gefunden haben. Du kannst hier eine Antwort posten und sie aus Gründen der Klarheit akzeptieren, wenn du Lust hast, sie aufzuschreiben. –

+0

Ich hasse dieses Problem: https://bugs.jquery.com/ticket/14475 – bgmCoder

Antwort

8

Vom link, dass der OP mit der Antwort geschrieben:

Wenn XML-Dateien geladen werden lokal, z.B. eine CD-ROM usw., die Daten empfangen von Internet Explorer ist Klartext, nicht Text/XML. In diesem Fall verwenden Sie die Parameter Datentyp der XML Datei als Text, und analysieren die zurück Daten innerhalb der succes Funktion

$.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" 
    } 
}); 

Dieser arbeitete für mich als auch zu laden.

1

Nur ein Gedanke: Ich erinnere mich an einige GET-Anfragen Fehler mit IE. Hast du es POST versucht?

+0

Nö nicht funktioniert das gleiche Problem. – Superdumbell