ajaForm在responseXML中返回无效的XML

时间:2013-09-17 18:44:03

标签: javascript html xml ajaxform

我正在使用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

1 个答案:

答案 0 :(得分:0)

我不知道究竟是谁在篡改XML之间的确切原因,但我使用了以下函数来清理XML并解决了我的问题。

function sanitizeXML(xmlobj)
{
    "use strict";
    return xmlobj.replace("\r\n-","");
}

感谢是否有任何好的解决方案。