Я использую IE9 и jquery-1.8.0.js. Я получаю дополнительный символ нежелательной почты в responseXML. Фактический XML, отправленный сервером, приведен ниже:
<?xml version="1.0" encoding="UTF-8" ?><ResponseStatus><version>0.0.1</version><requestURL>myurl.com</requestURL><statusCode>-1</statusCode><statusString>success</statusString></ResponseStatus>
Но когда я проверяю responseText, он показывает, как показано ниже, что дает ошибку с loadXML. Обратите внимание, что пробелы и символы \r\n- добавлены ненужными,
" <?xml version=\"1.0\" encoding=\"UTF-8\" ?> \r\n- <ResponseStatus>\r\n <version>0.0.1</version> \r\n <requestURL>myurl.com</requestURL> \r\n <statusCode>-1</statusCode> \r\n <statusString>success</statusString> \r\n </ResponseStatus>"
ниже приведен фрагмент кода,
var options =
{
beforeSend:...
error:...
success: function (responseXML, statusText, xhr, $form)
{
var xmlobj = responseXML.documentElement.innerText;
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xmlobj);
//xmlDoc.parseError.errorCode = -1072896682
//xmldoc.reason = "Invalid at the top level of the document.\r\n"
}
};
Мне интересно, кто автоматически меняет XML. Я ценю ваше руководство, разрешающее это.
Спасибо, Jdp
Я не знаю точную причину того, кто подделывает XML между ними, но я использовал ниже функцию для дезинфекции XML и решения моей проблемы.
function sanitizeXML(xmlobj)
{
"use strict";
return xmlobj.replace("\r\n-","");
}
Оцените, есть ли хорошее решение.