如何在jQuery ajax中使用变量作为数据“名称”?

时间:2013-04-03 16:17:27

标签: jquery

标题可能很差,但我想不出如何解释这个。

我有一个有效的ajax:

var inputName = $('#input').prop('name');

$.ajax({
    url: 'file.php?'+inputName+'=0&uID='+uid+'',
    type: 'POST'
});

如您所见,变量名称会改变并先前设置。

我最终收到的帖子类似于:

file.php?someName=0&uID=291

但我更喜欢以下类型的格式,对我来说它更具可读性和更少的代码:

$.ajax({
    url: 'file.php',
    type: 'POST',
    data: { '+inputName+': 0, uID: '+uid+' },
});

问题是,我最终得到了一个请求网址:

file.php?'+inputName+'=0&uID=291

或者如果我输入数据:{inputName:0}等,那么'inputName'就是变量名。

使用变量作为键可以实现我想做的事吗?如果是这样的话?或者我应该坚持使用longwinded?和&'s?

1 个答案:

答案 0 :(得分:11)

要将变量用作对象中的键,您需要使用括号表示法:

var obj = {uID: uid};
    obj[inputName] = 0;

$.ajax({
    url: 'file.php',
    type: 'POST',
    data: obj
});