标题可能很差,但我想不出如何解释这个。
我有一个有效的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?
答案 0 :(得分:11)
要将变量用作对象中的键,您需要使用括号表示法:
var obj = {uID: uid};
obj[inputName] = 0;
$.ajax({
url: 'file.php',
type: 'POST',
data: obj
});