У меня есть объект XML, сгенерированный jQuery из ответа веб-службы REST:
$.ajax({
type: "GET",
url: "http://localhost:9299/foo",
success:function(xml) {
xmlDoc = $.parseXML(xml);
$xml = $(xmlDoc);
// The rest of the code manipulates the structure of the XML
}
});
Теперь мне нужно вывести измененный объект XML в виде строки. Я уже нашел это решение для Firefox и других браузеров:
out = new XMLSerializer().serializeToString($xml);
Но я получаю только следующее сообщение об ошибке:
[Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://localhost/bar"]
Все нужные мне файлы находятся на локальном хосте (включая веб-сервис, предоставляющий мне XML и библиотеку jQuery)
Любые идеи будут высоко оценены
Редактировать:
Я упростил проблему и попробовал следующий код:
$xml = $('<?xml version="1.0"?><root><element>bla</element><element>blubb</element></root>');
$xml.find("element").each(function() {
alert($(this).text());
});
out = new XMLSerializer().serializeToString($xml);
Даже без какого-либо вызова веб-службы проблема остается той же. (Предупреждение выводит содержимое правильно)
Редактировать 2:
Благодаря комментарию Кевина Б. у меня есть рабочее решение:
$.ajax({
type: "GET",
url: "http://localhost:9299/foo",
dataType: 'xml',
success:function(xml) {
var $xml = $(xml);
// The rest of the code manipulates the structure of the XML
}
});
Последняя строка не меняется:
out = new XMLSerializer().serializeToString($xml);