我认为这是不可能的,但我想了解为什么。
我想做这样的事情:

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表达式来计算“键”。

09-18 11:55