问题描述:
easyui中datagrid执行loadData方法出现如下异常:
- Cannot read property 'length' of undefined
问题代码:
原始代码比较复杂,抽取内容描述如下:
var data = '{"total":1,"rows":[{"id":"001","name":"哈哈哈","role":"系统管理员"}]}';
$('#dg').datagrid('loadData', data);
解决方法:
var data = '{"total":1,"rows":[{"id":"001","name":"哈哈哈","role":"系统管理员"}]}';
data = JSON.parse(data);//转换成json对象,必须的!!!不然有异常!!!
$('#dg').datagrid('loadData', data);
原因分析:
loadData方法执行的时候参数必须是JSON对象,而不能是JSON格式的字符串!!!
我以为javascript这种弱类型的不强调这个呢,结果就一直在异常,一直在异常。
折腾了一个下午,终于搞定了,网上查也没有类似的问题,更不要说解决方法了。
估计搞前端的人都有这个概念吧,对我这种前端半吊子的新手,还是很困那的。
记录在此,以惠后人。