You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery Ajax迭代返回数据时如何正确读取对象属性完成赋值

问题原因

循环中的属性取值写法存在本质错误:

  • data[0]是JavaScript对象,直接与字符串执行+拼接操作时,JS会自动将对象转换为字符串值[object Object],最终得到[object Object].TenNhanQuyCach这类无意义的拼接结果,无法读取到实际属性值
  • 点号(.)属性访问语法仅支持传入固定的静态属性名,无法通过拼接字符串的方式实现动态属性读取
  • 原代码赋值行末尾多写了一个单引号,本身存在语法报错问题
修复方案

JavaScript中需要根据变量动态读取对象属性时,必须使用方括号访问语法,格式为对象[存储属性名的变量]。修复后的可运行代码如下:

$.ajax({
    url: 'someurl to retrive data',
    type: 'POST',
    data: {id: id},
    success: function(data, status) {
        // 移除数组末尾多余逗号,兼容低版本JS环境
        const inputNameArr = ['nameProBangHHModal', 'valueBangHHModal'];
        const dbFieldArr = ['TenNhanQuyCach', 'DonViTinh'];
        for (let i = 0; i < inputNameArr.length; i++) {
            // 通过方括号语法动态获取对应字段值
            const fieldVal = data[0][dbFieldArr[i]];
            $(`#someModal input[name="${inputNameArr[i]}"]`).val(fieldVal);
        }
    }
})

内容的提问来源于stack exchange,提问作者anh phan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:48:25