匿名函数,添加参数

时间:2010-07-11 03:16:23

标签: javascript ajax prototypejs

我在我的Ajax.Request中使用我的jsp。 (原型)

不知怎的,我可以在匿名函数onComplete中传递额外的参数?

例如,

function save() {
    var pars = "param1=date";
    new Ajax.Request('algo.ctr', {
        parameters: pars,
        onComplete: f,
    });
}
var f = function (e) {
    alert(e.status);
}

我想使用参数e以及其他。

我不想使用全局变量。

这个想法是运行多个并发请求,并且当每个请求完成对我放置的元素的操作时。

1 个答案:

答案 0 :(得分:5)

通常,您无法在Prototype函数的本机签名中“添加参数”。但你可以这样做:

function mySuccessFunction( a, b, c ) {
  alert( "Success!" + a + b + c ) ;
}

new Ajax.Request(url, {
  method: 'get',

  parameters: {company: 'example', limit: 12} // use an object literal
  // for parameters, not a query string

  onSuccess: function( transport ) {
    mySuccessFunction( transport, 'param1', 'param2' ) ;
  }
});

请注意,我已将参数作为对象文字传递并附加到onSuccess事件而不是onComplete事件。