我正在使用IE9和jquery-1.8.0.js。我在响应XML中获得了额外的垃圾字符。服务器发送的实际 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>
但是当我检查响应文本时,它如下所示,这给出了加载XML的错误。请注意添加的空格和 \r- 字符不需要,
" <?xml version="1.0" encoding="UTF-8" ?> rn- <ResponseStatus>rn <version>0.0.1</version> rn <requestURL>myurl.com</requestURL> rn <statusCode>-1</statusCode> rn <statusString>success</statusString> rn </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.rn"
}
};
我想知道谁在自动更改 XML。感谢您的指导解决此问题。
谢谢杰德普
我不知道
谁在两者之间篡改XML的确切原因,但我使用以下函数来清理XML并解决了我的问题。
function sanitizeXML(xmlobj)
{
"use strict";
return xmlobj.replace("rn-","");
}
如果有任何好的解决方案,请欣赏。