我在每个调用中传递此函数不同的字段名称。我希望它将变量field
的插值字符串值作为发布的var的名称发布。例如,一个帖子可能有
data: { 'shoppingCartContents' : cartrow, 'number' : number, 'foo' : value }
但是每个帖子都有
data: { 'shoppingCartContents' : cartrow, 'number' : number, 'field' : value }
即使field
不在引号中。
function update_personalization(cartrow, number, field, value) {
$.ajax({
type: 'POST',
url: 'updatePersonalization.php',
data: { 'shoppingCartContents' : cartrow, 'number' : number, field : value }
});
}
我做错了什么?
答案 0 :(得分:5)
您必须以不同方式构建对象:
data: (function() {
var rv = {shoppingCartContents: cartrow, number: number};
rv[field] = value;
return rv;
})()
它的作用是在一个小的匿名函数中构建你想要作为“数据”传递的对象。该函数使用静态字段名称初始化一个简单对象,然后在单独的语句中添加动态命名字段。
这不是真正的“阵列”,因为它的价值。