有没有办法在以下代码中评估Request中“data”选项中的变量:
var v_postfield=valueA;
new Request({
var self = this;
emulation:false,
url: self.ajaxurl,
headers: { 'X-CSRF-Token':rails.csrf.token },
data: {'task': { v_postfield: self.field.get('value')}},
evalResponse: true,
evalScripts: true
}).put();
我一直在:
参数:{“task”=> {“v_postfield”=>“ddd”}, “ID”=> “中4e21c97023525c19730000d3”}
当我想要的时候:
参数:{“task”=> {“valueA”=>“ddd”}, “ID”=> “中4e21c97023525c19730000d3”}
服务器在rubyonrails上运行,但我怀疑它是否相关。
答案 0 :(得分:1)
右。如果我正确理解你的问题,你需要将动态值作为对象成员传递。
这取决于javascript和语法糖,它允许你通过它访问对象的属性。符号:
var obj = {
prop: value
};
obj.prop === value;
如果需要动态属性,则需要使用底层括号表示法(如数组中):
var obj = {}, prop = "foo";
obj[prop] = value;
obj == { foo: value };
就是这样。
这样:
var taskobj = {};
taskobj[v_postfield] = self.field.get('value');
// ...
data: {
task: taskobj
}