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

如何在jQuery Post请求中设置包含动态索引的键名?

解决方案

要实现动态修改POST请求参数的键名,你不能直接在对象字面量中使用变量拼接键名,需要通过方括号语法来动态设置对象的属性名。以下是修改后的代码:

ES6+ 写法(推荐)

function call(obj) {
    console.log("Call " + obj.value);
    // 定义动态索引,这里直接复用obj.value作为示例,可替换为任意动态变量
    const dynamicIndex = obj.value;
    // 创建空参数对象
    const postData = {};
    // 用模板字符串拼接动态键名,通过方括号赋值
    postData[`"webdata".web[${dynamicIndex}].Taster`] = '1';
    // 发送POST请求
    $.post("index.htm", postData);
}

ES5 写法(兼容旧环境)

function call(obj) {
    console.log("Call " + obj.value);
    var dynamicIndex = obj.value;
    var postData = {};
    // 用字符串拼接动态键名
    postData['"webdata".web[' + dynamicIndex + '].Taster'] = '1';
    $.post("index.htm", postData);
}

关键说明

对象字面量({ key: value })中的键名会被当作固定字符串解析,无法直接嵌入变量。必须先创建空对象,再通过对象[动态键名字符串] = 值的方式,才能让JavaScript正确识别动态生成的键名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:15:37