responseXML返回空的问题

yangyue_tn 2007-10-18 02:16:25
兄弟们,我想用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());
}

...全文
308 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yu_mylove 2008-08-23
  • 打赏
  • 举报
回复
我也碰到这中情况了。 我用的 java 请问aydssck 应该怎么解额。 谢谢。。
aydssck 2007-10-19
  • 打赏
  • 举报
回复
哈哈,没关系的了啊,大家互相帮忙

可以加就加一下,不行就不用加了哈,偶也是刚开始学习的了啊
yangyue_tn 2007-10-19
  • 打赏
  • 举报
回复
怎么给你加分阿,提示说这帖子不到五天,难道得五天以后?
yangyue_tn 2007-10-19
  • 打赏
  • 举报
回复
谢谢 aydssck ! 果然可以正确返回值了!
aydssck 2007-10-19
  • 打赏
  • 举报
回复
有页面内容的解决方法:

Response.Write(xmlData.ToLower())
Response.End()//这行一定要加上去,就行了.
yangyue_tn 2007-10-18
  • 打赏
  • 举报
回复
这个没错,我在客户端 var header = oReq.getResponseheader( "Content-Type");
header的值为 “text/xml;charset=utf-8”
非凡笨笨 2007-10-18
  • 打赏
  • 举报
回复
Response.ContentType = "text/xml";
有没有写错,我用的语言返回的时候,是 Print "Content-type: text/xml"
非凡笨笨 2007-10-18
  • 打赏
  • 举报
回复
关注~~~

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧