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

wil*_*fun 2 jquery

标题可能很差,但我想不出如何解释这一点.

我有一个有效的ajax:

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

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

如您所见,变量名称已更改并先前已设置.

我最终得到的帖子是:

file.php?someName=0&uID=291
Run Code Online (Sandbox Code Playgroud)

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

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

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

file.php?'+inputName+'=0&uID=291
Run Code Online (Sandbox Code Playgroud)

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

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

ade*_*neo 11

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

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

$.ajax({
    url: 'file.php',
    type: 'POST',
    data: obj
});
Run Code Online (Sandbox Code Playgroud)