javascript - 通过jquery显示php json编码数组的值时出现未定义错误

标签 javascript php jquery json

我正在尝试显示从 jquery post 接收到的数据。但它给我一个错误,说 undefined

我的 php json 编码数组是这样的。

[{"matId":"7","matName":"test","matBrand":"est","matPackaging":"1","matWidth":"434","matHeight":"23","matLength":"23","matWeight":"23","matArea":"23","matVolume":"23","matPerPack":"32","supplier1":"19","supplier2":"19","supplier3":"19","requiredInPhase":"","stockItem":"1"}]

然后在 jquery 中我试图警告这个值之一,但它给出错误“未定义”。

这是我的 jquery 代码

$('#matId').on('change', function() {
            var matId = $(this).val();
            $.post('<?php echo base_url() . 'display_mat_details'; ?>', {matId: matId}, function(redata) {
                var obj = $.parseJSON(redata);
                alert(obj.matId);
            });
        });

最佳答案

您的数据包含在 [] 中,这是一个数组。因此您需要使用 [0] 从数组中获取第一个对象

$('#matId').on('change', function() {
  var matId = $(this).val();
  $.post('<?php echo base_url() . '
    display_mat_details '; ?>', {
      matId: matId
    }, function(redata) {
      var obj = $.parseJSON(redata);
      alert(obj[0].matId);
    });
});

示例:

var str = [{"matId":"7","matName":"test","matBrand":"est","matPackaging":"1","matWidth":"434","matHeight":"23","matLength":"23","matWeight":"23","matArea":"23","matVolume":"23","matPerPack":"32","supplier1":"19","supplier2":"19","supplier3":"19","requiredInPhase":"","stockItem":"1"}];
alert(str[0].matId);

关于javascript - 通过jquery显示php json编码数组的值时出现未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908923/

相关文章:

javascript - 如何在单击特定 li 时隐藏所有 li 项目,并使用 jquery 在鼠标悬停时再次显示该项目下方的剩余 li 项目

javascript - 如何使用 Javascript/jQuery 在 URL 中添加或替换查询参数?

JavaScript 正则表达式忽略大小写

javascript - Xpath 单击 td 中的按钮,其中行包含特定文本值

php - 使用 codeigniter 将与 ID 关联的数组的每个元素插入到数据库表中

php - 将页面包含到 index.php 或创建页面的顶部和底部并包含到所有内容页面?

javascript - 如何在样式组件中使用 for 循环?

javascript - 根据 CSS 和内容选择包含行

javascript - 如何在选择文件后立即上传图像,而不是强制用户单击单独的 "Upload"按钮?

javascript - 为什么我必须在选定的选项上单击两次?