1

複数の jquery Ajax 呼び出しを順番に実行する必要があります。私はコールバックを使用しているので、すべての呼び出しには、次の Ajax 呼び出しなどを実行する成功関数があります。それは本当にごちゃごちゃしていて、読むのが非常に難しいコードでした。グーグルで検索した後、見栄えの良いFrame.jsを見つけましたが...動作させることができません。

問題を単純化するために、最初の Web サービスを呼び出そうとしています。これを実行しています。

ファイル: MyPage.aspx:

Frame(function (next) {
    this.request = { CodSeguro: 917766 };
        Emision_ConsultarSeguro(request, next, next);
        next();
    });
    Frame(function (next,ajaxResponse) 
    {
        alert(ajaxResponse);
    });

ファイル: WebServices.js:

function Emision_ConsultarSeguro(requestData, okFunction, failFunction) 
{
    runAjax("Emision/emision.asmx/Consultar", request, okFunction, failFunction);
}

ファイル: Common.js

function runAjax(url, request, okFunction, failFunction) 
{
    var dto = "{'request':" + JSON.stringify(request) + "}";
    execAjax(url, dto, okFunction, failFunction);
}

ファイル: Ajax.js

function execAjax(url, data, successFunction, errorFunction) 
{
    return $.ajax({
        type: "POST",
        url: GetUrl() + url,
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data) { 
            successFunction(data); 
        },
        error: function(XMLHttpRequest, textStatus, errorThrown {
            errorFunction(XMLHttpRequest, textStatus, errorThrown); 
        }
    });
}

Ajax 呼び出しは実行されますが、ajaxResponse は常に未定義です!!! 助けてください!

4

1 に答える 1

0

WebServices.js のように見えますが、リクエスト引数を requestData に置き換える必要があります。

function Emision_ConsultarSeguro(requestData, okFunction, failFunction) 
{
    runAjax("Emision/emision.asmx/Consultar", requestData, okFunction, failFunction);
}
于 2013-04-12T17:48:53.003 に答える