javascript - JSON 解析后无法读取未定义的属性

标签 javascript jquery json

我在我的代码中完成了 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/

相关文章:

javascript - 如何使用模型驱动表单验证 Angular 2 中的电子邮件字段

javascript - 在 WordPress 中单击即可创建新用户

javascript - 从服务器加载 javascript 对象到现有的 javascript 对象

javascript - 如何在递归解析后正确显示 JSON 对象的结果?

javascript - 使用计时器制作图像幻灯片?

javascript - 如何有效地过滤对象的对象?

javascript - 如何覆盖 JavaScript 属性

jquery - Jqgrid表格编辑出错

java - 将 JSON 值插入字符串

javascript - 如何使用 jQuery Grep 过滤极度嵌套的 JSON