easyui加载数据出错Cannot read property 'length' of undef

Uncaught TypeError: Cannot read property 'length' of undefined:node

例如:在treegrid的行编辑中,在执行了onAfterEdit()方法以后,会自动执行onLoadSuccess()方法,从服务器从新加载数据,若是服务器返回的数据为null,那么就会抛出这样一个错误,jquery

源码为:服务器

var isArray = $.array.likeArray(data) && !$.util.isString(data), rows = isArray ? data : data.rows; 
f (!rows.length) { return data; }//这句话抛出错误,此错误会致使不会执行onLoadSuccess()方法,即页面的原有的数据不会发生改变


Uncaught TypeError: Cannot read property 'id' of undefined"异步

错误2:函数

这个错误极可能的缘由是:url

    --例如treegrid,异步加载树code

    代码:对象

$("#xmzj").treegrid("expand", id);//展开该节点
$("#xmzj").treegrid("scrollTo",index);//滚动到行标为index的记录
$("#xmzj").treegrid("select", id);//选择记录
//id节点在treegrid中自己是存在的,可是在当前树中因为是异步加载,可能并无加载出来,那么在expand的时候并不会主动发送url请求,expand展开的原理是展开已经有的树节点,主动发送请求加载该节点下的子节点;若是该节点并无实际存在,那么不会展开,scrollTo是滚动到索引为index的记录,若是该树实际已经存在该索引,那么则滚动到,若是不存在,也不会报错;可是第三句select,会根据id去该树几点寻找已经存在的id值的记录,若是存在,则选择;不存在,会报错,说id is undefined.因此说报id为定义的错误,确定是某个地方用到这个id,可是根据这个id来操做的时候,发生了错误.

还有中可能:好比加载treegrid的数据的时候,返回过来的row中没有id属性,而treegrid中以idField:'id',即该treegrid以id来做为惟一标识,那么若是row中若是没有id属性存在,那么确定会报Uncaught TypeError: Cannot read property 'id' of undefined" 错误,由于row中其余属性均可以没有,可是id属性必须存在.


Uncaught TypeError: Cannot read property 'nodeName' of undefined:索引

该错误极可能是利用利用jquery获取到某些元素以后,而后操做该元素的一些属性引发的,由于这些属性没有定义源码

例如:

/*在销毁编辑框的时候,第一个参数表示该treegrid控件,第二个表示一个object对象,若是该控件写错了,
好比应该要写成$("#xmzj")[0],可是写成了一个$("xmzj")[0],由于后面写错的获得了一个null的元素,那么进入_destroyCellEditor()函数在其中操做空元素来操做一些属性的时候就会报这个错误*/
_destroyCellEditor($(name)[0],{index:rowIndex,field:field});
相关文章
相关标签/搜索