null为空或不是对象 - Web 开发 / Ajax
if(IndexXMLData.readyState==4)
{
var XMLData=IndexXMLData.responseXML;
var Nodes=XMLData.selectNodes("QQW/Item");
for(var i=1;i<=Nodes.length;i++)
{
var sResult="";
sResult += "<div id='LY_Title"+i+"' class='MemberTitle'>"+Nodes[i].selectSingleNode("Title").text+"("+Nodes[i].selectSingleNode("RegDate").text+")</div><div id='LY_Meg"+i+"' class='MemberNote' title='"+Nodes[i].selectSingleNode("Message").text+"'>"+Nodes[i].selectSingleNode("Message").text+"</div>"; }
document.getElementById("MsgList_Hidden").innerHTML=sResult;
}
这个是ajax的回调函数内的内容,加粗的部分老是提示:null为空或不是对象,请指点!!
------解决方案--------------------没有此节点 alert下 用xmldoc.reponseXML.documentElement;再foreach出所有的节点
------解决方案--------------------可能出现null的似乎只有Nodes[i].selectSingleNode
debug的时候把这些添到监控表达式里看看就知道那个节点没找到了
------解决方案--------------------如果偶尔出错,可以加try{}catch(e){}来规避异常,如果次次出错,就说明你的代码有问题了,需要调试解决。。。
你这代码:
for(var i=1;i<=Nodes.length;i++)这里有问题。计数是从0开始的,
应该是
for(var i=0;i<Nodes.length;i++)