在请求之前评估数据变量

时间:2011-07-25 08:02:13

标签: javascript mootools

有没有办法在以下代码中评估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上运行,但我怀疑它是否相关。

1 个答案:

答案 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
}