responseXML返回空的问题
兄弟们,我想用XmlHttpRequest 从服务器端的数据里取数据,然后转成xml格式的数据发回客户端。但oReq.responseXML返回为空,oReq.responseText里是xml的数据。我想直接利用oReq.responseXML的返回对象解析xml数据。不清楚为什么,网上的很多方法都试过了,不行。后来,我发现oReq.responseText返回的内容里不光有xml数据,还有Default.aspx的页面内容。可是我 Response.Write(xmlData.ToLower()) 只是数据,怎么会把default.aspx页面的内容也传回来了?这是不是oReq.responseXML返回为空的原因呢?请大家指教!
客户端代码:
<script language=javascript>
window.onload = function ()
{
var oReader = new XmlDataReader();
}
function CreateRequest()
{
var xReq = null;
if (typeof XMLHttpRequest != "undefined")
xReq = new XMLHttpRequest();
else if (window.ActiveXObject)
{
var aVersions = ["MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
}
for (var i = 0; i < aVersions.length ;++i)
{
try
{
var oXmlHttp = new ActiveXObject(aVersions[i]);
return oXmlHttp;
}
catch(error)
{
}
throw new Error("XmlHttp Can't Create");
}
return xReq;
}
function XmlDataReader()
{
this.getXmlData();
}
XmlDataReader.prototype.getXmlData = function()
{
var oReq = CreateRequest();
oReq.onreadystatechange = function()
{
if (oReq.readyState == 4)
{
if (oReq.status == 200)
{
var data = oReq.responseText;
var data1 = oReq.responseXML;
}
}
}
oReq.open("GET","Default.aspx",true);
oReq.send(null);
}
</script>
服务器端代码:
{
......
// ds 是查询数据苦后返回的DataSet
string xmlData = ds.GetXml();
Response.ContentType = "text/xml";
Response.Charset = "utf-8";
Response.Write(xmlData.ToLower());
}