2

我正在使用 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()基于ahello 函数中的变量。问题是我不知道它是否可以ahelloto传递SaveSuccessCallbackNote:我不能a全球化。

4

1 回答 1

3

您可以使用闭包

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);
    };
}
于 2013-08-02T12:22:51.290 回答