2010-07-11 4 views
1

Я использую в своем Ajax.Request my jsp. (Prototype)анонимная функция, добавьте параметры

Как-то я могу передать дополнительные параметры в анонимной функции onComplete?

Например,

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

Я хочу использовать параметр е, но и другие.

Я не хочу использовать глобальные переменные.

Идея состоит в том, чтобы запускать несколько одновременных запросов, и когда каждый заканчивает что-то делать с элементом, который я положил.

ответ

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.

+0

спасибо, очень хорошее объяснение =) –

Смежные вопросы