我认为这是不可能的,但我想了解为什么。
我想做这样的事情:
var pVals = {
ob1: "postvar1",
ob2: "postvar2",
ob3: "postvar2"
};
$.post("php/dosomething.php",{pVals.ob1:"object 1", pVals.ob2:"object 2", pVals.ob3:"object 3"});
我收到以下错误:
缺少:属性ID之后
谢谢您的帮助。
最佳答案
您可以获得相同的最终结果,只是无法在一条语句中做到这一点:
var pVals = {
ob1: "postvar1",
ob2: "postvar2",
ob3: "postvar2"
};
var obj = {};
obj[pVals.ob1] = "object 1";
obj[pVals.ob2] = "object 2";
obj[pVals.ob3] = "object 3";
$.post("php/dosomething.php", obj);
这是因为匿名哈希样式构造函数中的“键”仅被视为文字,它们本身不能成为表达式。但是,当您使用类似数组的引用时,可以使用任何有效的javascript表达式来计算“键”。