在开发中,写js的时候突然遇到了$.getJSON报错Uncaught TypeError: Cannot read property 'id' of undefined这种情况
代码示例如下:
input.keyup(function(){
var $key = input.val();
if($key==''){
suggestWrap.hide();
}else{
$.getJSON('__URL__/countryType',{ckey:$key},function(data){
if (data.data!=null){
suggestWrap.show();
$('#add li[text!=""]').remove();
for (var i=0;i<=data.data.length;i++){
var option = "<li class>"+data.data[i].id+"</li>";
$(option).appendTo('#add');
}
}else{
suggestWrap.hide();
}
});
}
})
使用$.getJSON时总报这样的错
Uncaught TypeError: Cannot read property 'id' of undefined
解决方法:
打印下data.data[i],看看里面是什么
其实仔细观察后发现了数组越界了
数组越界了,修改为 i<data.data.length
补充一个链接:http://bbs.csdn.net/topics/390975764