Jquery json:未捕获类型错误:无法读取属性'xx'的未定义
Jquery json : Uncaught TypeError: Cannot read property 'xx' of undefined
我正在通过JSON检索数据,但问题是我收到了诸如"无法读取未定义的属性'productid'"之类的错误。
JSON文件(data.JSON)
{
"Products": [
{
"productid": "135",
"productname": "Shirt",
"productqty": "3",
"seller_3": "150.00",
"seller_2": "151.00",
"seller_7": "153.00",
"seller_6": "159.00",
"seller_5": "155.00",
"seller_1": "157.00",
"seller_4": "152.00"
}
]
}
执行代码为
var itemQty = 134;
$.getJSON( "../data.json", function(data) {
if (data.Products.length == 0) {
/*do nothing*/
} else if(data.Products.length > 0){
for (var i = 0; i < data.Products.length; i++) {
console.log(data.Products[i].productid); // ITS RETURN THE VALUE 135
if (data.Products[i].productid == itemID) { // <--- ERROR THIS LINE
if (data.Products[i].productqty == itemQty) {
newQuantity = eval(data.Products[i].productqty);
} else {
var newQuantity = eval(itemQty);
}
if (newQuantity > options.quantityLimit) {
newQuantity = options.quantityLimit
}
data.Products[i].productqty = newQuantity;
} else {
data.Products.push(cartItem);
}
}
}
}
在console.log中,它返回的值为135,当在IF语句中进行比较时,我得到错误Cannot read property'productid'of undefined。
看起来您正在从循环内部修改产品列表。因此,请仔细查看为cartItem
设置值的内容。
for (var i = 0; i < data.Products.length; i++) {
...
data.Products.push(cartItem);
}
在迭代列表时,向列表中添加新项是个坏主意。根据itemID
和cartItem
的设置方式,可能会出现无限循环。尝试在开始循环之前读取.length
值一次,这样就不会迭代新项目:
for (var i = 0, len = data.Products.length; i < len; i++) {
...
}
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在选项卡上定义属性'的主窗口对象
- 锚点元素的href属性自动更改
- 为什么我可以'不要使用xx[this.index].style.display?它's说“;无法读取属性
- Jquery json:未捕获类型错误:无法读取属性'xx'的未定义