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 に答える