Я создаю одну HTML-страницу для использования в сенсорном киоске.У меня есть внешний XML-файл с именем data.xml
, который находится в том же каталоге, что и моя HTML-страница.Я смог использовать jQuery для загрузки внешнего XML-файла, его синтаксического анализа и динамического построения HTML-кода при загрузке страницы без каких-либо проблем в Firefox и Chrome. Но затем я попробовал это сделать в Internet Explorer ...
Документ XML загружается очень хорошо, используя функцию $ .ajax ().Я сделал alert(xmlDoc.text())
, и он показал все текстовое содержимое документа XML.Так что это не проблема.
Я провел поиск и нашел ответ StackOverflow , который дает решение проблемы, ЕСЛИ вы отправляете XML с веб-сервера.В основном говорится, что следующий HTTP-заголовок необходим для того, чтобы Internet Explorer мог обрабатывать строку xml как xml.
content-type:application/xml;charset=utf-8
Эта HTML-страница должна быть запущена как отдельная страница внутриInternet Explorer. У нас не будет веб-сервера , работающего на машине с киоском.
Мой вопрос: есть ли способ указать правильный тип содержимого при загрузке локального ресурса в jQuery?
Вот соответствующий код ajax, с которым я работаю ...
$.ajax({
url: 'data.xml',
async : false,
success : function(response) {
xml = $(response);
}
});
// Following line works in Firefox/Chrome, but not in Internet Explorer
var firstItemText = $("item:first", xml).text();
РЕДАКТИРОВАТЬ: я добавил функцию обработки ошибок в запрос ajax, как это ...
$.ajax({
url: 'data.xml',
async : false,
dataType : "xml",
success : function(response) {
xml = $(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Data Could Not Be Loaded - '+ textStatus);
}
});
Эта функция запускается в Internet Explorer, и в результате появляется сообщение:
Data Could Not Be Loaded: - parsererror
Я проверил свой документ XML с помощью нескольких онлайн-инструментов проверки XML, и он имеетбез ошибок.
Любая помощь приветствуется.