![](/img/trans.png)
[英]Simple Request: Uncaught TypeError: Cannot read property 'length' of undefined
[英]Uncaught TypeError: Cannot read property 'length' of undefined for simple JSON array
我正在以这种方式调用函数。
var responseinner = returnvalues(selectedeleemnt);
console.log(responseinner);
显示为对象
console.log(JSON.stringify(responseinner));
显示为[{"name":"Coke","image":"json_images/coke_can.jpg","type":["250ml","300ml"],"price":["50","60"]}]
我尝试了所有解析这个值的方法
[{"name":"Coke","image":"json_images/coke_can.jpg","type":["250ml","300ml"],"price":["50","60"]}]
但它总是抛出错误
未捕获的类型错误:无法读取未定义的属性“长度”
我使用了 JSON.parse , JSON.stringfy() 。 但没有帮助。
for (var i = 0; i < responseinner.type.length; i++) {
}
有人可以帮我吗
for(var i=0;i<responseinner.length;i++){ responseinner[i].type .... }
您的responseinner
不是一个Object
而是一个只有一个元素的Array
。
所以,你必须使用responseinner[0].type.length
如果它是一个对象,它将以{}
而不是[]
开头,以数组开头。
您可以使用of
for (let element of responseinner) {
// do something../
console.log(element.name)
}
使用 jquery 解析 json:
$.each($.parseJSON(responseinner), function(key,value){
//do something
});
如果 responseinner 已经形成为一个 json 你不需要 $.parseJSON
或者
responseineer[0].name
responseineer[0].image
...
Json 数据进入一个数组,因此使用索引获取它的对象,以便访问它: responseineer[0]
试试test[0].type.length
你有一个长度为 1 的数组的对象,因此你必须首先定义数组中对象的索引位置,这是微不足道的,因为数组有 1 个定义的索引。
for (var i = 0; i < responseinner[0].type.length; i++) {
}
for(var i=0;i
它工作正常,但是...如何在客户端分配给 gridview
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.