我在我的代码中完成了 ajax 请求,效果很好。之后,我只想提取必要的信息并将其重新发布到另一个脚本。到目前为止,这是我的代码:
$.ajax({
type: "POST",
url: url,
data: {xhr_id: xhr_id},
success: function (jsondata) {
var product_data = [];
for (var i = 0; i <= 3; i++) {
//alert(jsondata.products[i].product_description.toSource());
product_data[i] = {};
product_data[i]["product" + i] = jsondata.products[i].product_description;
//alert(product_data[i]["product" + i].toSource());
}
},
dataType: "json"
});
问题是两个警报都工作正常,显示了我想要的信息。但是,我收到一条错误消息“Uncaught TypeError:无法读取未定义的属性‘product_description’”,这会破坏脚本并阻止我执行其他任何操作。我做错了什么,有什么想法吗?
最佳答案
‘product_description’ of undefined”意味着您正在尝试访问 undefined variable 的属性。这意味着“jsondata.products[i]”导致由于索引超出范围而导致未定义值。有多少记录在jsondata 3或4中返回,在for循环中检查并调整条件
关于javascript - JSON 解析后无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40425228/