Как передать переменную в функцию обратного вызова метода страницы успеха
Я использую asp.net PageMethods. Так вот, как я делаю вызов метода из JavaScript
function hello()
{
var a =10;
PageMethods.SaveData(JSON.stringify(basicInfo), SaveSuccessCallback, SaveFailedCallback);
}
И вот мой успех перезвонил условие
function SaveSuccessCallback(response) {
//handle success code here
ShowEdit();
}
Теперь я хотел справиться с ShowEdit()
основанный на переменной a
который находится в функции привет. Вопрос в том, что я не знаю, возможно ли это пройти a
от hello
в SaveSuccessCallback
,Note:
я не могу сделать a
Глобальный.
1 ответ
Решение
Вы можете использовать закрытие:
var a = 10;
PageMethods.SaveData(
JSON.stringify(basicInfo),
function(response) {
SaveSuccessCallback(response);
ShowEdit(a);
}, SaveFailedCallback);
function SaveSuccessCallback(response) {
//handle success code here
}
Вы можете предпочесть сделать это немного чище, обернув замыкание другим способом:
PageMethods.SaveData(
JSON.stringify(basicInfo), SaveSuccessCallback(10), SaveFailedCallback);
function SaveSuccessCallback(a) {
return function(response) {
//handle success code here
ShowEdit(a);
};
}