首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

null为空或不是对象

2012-03-20 
null为空或不是对象 - Web 开发 / Ajaxif(IndexXMLData.readyState4){var XMLDataIndexXMLData.respons

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++)

热点排行