用javascript的FirstChild.data提取XML数据报错,提示‘firstchild’为空或不是对像,高手帮忙! 50

用javascript的FirstChild.data提取XML数据报错,提示‘firstchild’为空或不是对像,高手帮忙!---------------------... 用javascript的FirstChild.data提取XML数据报错,提示‘firstchild’为空或不是对像,高手帮忙!
----------------------------------------------------------
function handleStateChange(){//xml获取请求的函数
if(xmlHttp.readyState == 4){
var state=document.getElementById("state");
state.style.display="block";
state.style.color="red";
state.innerHTML = "正在存储内容……";
if(xmlHttp.status==200){
var retext=xmlHttp.responseXML;
state.innerHTML = "内容已经保存,正在处理返回信息……";
//针对IE和Opera潜在错误
if (!retext||!retext.documentElement)
throw("Invalid XML structure:\n"+xmlHttp.responseText);
//针对firefox潜在错误
var rootNodeName=retext.documentElement.nodeName;
if(rootNodeName=="parsererror")
throw("Invalid XML structure:\n"+xmlHttp.responseText);
var xmlRoot=retext.documentElement;
if(rootNodeName!="response"||!xmlRoot.firstChild)
throw("Invalid XML structure:\n"+xmlHttp.responseText);
var contenttext=xmlRoot.getElementsByTagName("content")[0];
contenttext=contenttext.firstChild.data;
document.getElementById("addnew").value=contenttext;
state.style.color="green";
state.innerHTML = "ID为"+contenttext+"的内容已经保存";
}
else
alert("返回信息:"+xmlHttp.responseText);
}
}
在firefox下面可以正常返回值,但是在IE下面就出错了!通过.length方法检验的值在IE下不大于0,但是在火狐的返回值里有结果。
展开
 我来答
ynsjwh
2008-03-14 · TA获得超过514个赞
知道小有建树答主
回答量:577
采纳率:0%
帮助的人:0
展开全部
var contenttext=xmlRoot.getElementsByTagName("content")[0];

我认为你应该先检查空间xmlRoot.getElementsByTagName("content")返回了什么?长度是否为0?

如果你有使用调试器的话,建议你检查一下xmlHttp.responseXML的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式