0

A有以下问题。我的代码将 HTTP 请求发送到 ASP 处理程序:

var xmlRequest = !window.XMLHttpRequest ? new ActiveXObject('Microsoft.XMLHTTP') :      new XMLHttpRequest; 
xmlRequest.open("GET", "Handler.ashx?value25="+$('#joKod').val()+"&operType=3");
xmlRequest.setRequestHeader('Content-Type', 'text/xml');
xmlRequest.onreadystatechange = function()
{
    if (xmlRequest.readyState == 4)
    {
       if (xmlRequest.status == 200)
       {   
          alert(xmlRequest.responseXML.xml);       
       }
    }
}   
xmlRequest.setRequestHeader("Content-Type", "text/xml"); 
xmlRequest.send('xml');

我的处理程序创建 XML 答案

XmlDocument xd=Scoring.CheckLinkFirma(okpo);
resp.Clear();
resp.ContentType = "text/xml";
xd.Save(resp.Output); 

并将其发回:

<?xml version="1.0" encoding="utf-8"?>
<Root>
   <jo status="client">abc</jo>
   <jo status="client">dfh</jo>
</Root>

在 Exlorer responseXML.xml 中具有价值,但 Chrome 和 FF 它是未定义的???

4

2 回答 2

1

因为那是 IE 唯一的属性。如果你想得到一个 XML,你可以这样做:

function XMLToString(oXML)
{   
 if (window.XMLHttpRequest) {}//Standards First
 else if (window.ActiveXObject) {return oXML.xml;}//Proprietary Second
 else {return (new XMLSerializer()).serializeToString(oXML);}//other browsers
}
alert(XMLToString(xmlRequest.responseXML))

或者您可以尝试从中获取 xml 文本xmlRequest.responseText

于 2012-09-17T14:12:11.080 回答
0

我在 jQuery 中找到了答案。希望它会帮助某人

$.ajax
({    
    type: "GET",
    url: "Handler.ashx?value25="+$('#joKod').val()+"&operType=3", 
    dataType: "text",
    cache: true,              
    success: function(xml)
    {             
         if (xml) 
         {
            var myXml = $($.parseXML(xml)).find('Root');    
         }
    }
 });
于 2013-02-14T10:31:26.887 回答