Локальный HTML-файл AJAX Call и JQuery Woes - PullRequest
11 голосов
/ 12 января 2009

Я работаю над автономной версией веб-сайта, используя jQuery и некоторые XML-файлы. Я сталкиваюсь с проблемой в jQuery, когда я выполняю вызов $ .ajax для xml-файла, jQuery выдает ошибку.

Когда я смотрю на ошибку, я могу сказать, что она загружает XML-файл, потому что он находится в свойстве responseceText ошибки. В Firefox он отлично работает.

Вот так выглядит мой звонок

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

Когда я запускаю это на веб-сервере, он работает просто отлично. Только когда я запускаю его из самого файла, когда у меня есть эта проблема.

Любые идеи о том, как я могу сделать это в IE?

Редактировать: я нашел ответ на свою проблему. Здесь

Ответы [ 2 ]

8 голосов
/ 24 января 2009

Из ссылки , которую ОП опубликовал с ответом:

При локальной загрузке файлов XML, например, CD-ROM и т. Д., Данные получены Internet Explorer - это обычный текст, а не текст / XML. В этом случае используйте Параметр dataType для загрузки xml файл как текст, и проанализировать возвращенный данные в функции 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"
   }
 }); 

Это сработало и для меня.

0 голосов
/ 12 января 2009

Просто мысль: я помню некоторые сбои GET-запросов с IE. Вы пробовали разместить его?

...