用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,但是在火狐的返回值里有结果。 展开
----------------------------------------------------------
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,但是在火狐的返回值里有结果。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询