0

実行するのに非常に時間のかかる機能があります。関数を呼び出して、関数呼び出しの結果を待たずに次のページにリダイレクトしたいのですが、次のようにWebサービスフォームjqueryを呼び出して実行しています。

function InitiateService(option) {   
 $.ajax({
    url: "WebserviceTrigger.aspx?option=" + option,
    type: "POST",
    dataType: "html",
    cache: false,
    success: function(html) {             
    window.location = "BroadCast.aspx";
    }
});

ただし、この方法では結果を待ってから次のページにリダイレクトします。サービスを呼び出した後、すぐに次のページにリダイレクトしたい。これどうやってするの?前もって感謝します

4

2 に答える 2

2

この場合、リダイレクトを成功の外に移動すると、Ajax が起動され、コントロールがリダイレクトの場所を実行し、ajax リクエストが完了するのを待ちません。

function InitiateService(option) {   
     $.ajax({
        url: "WebserviceTrigger.aspx?option=" + option,
        type: "POST",
        dataType: "html",
        cache: false,
        success: function(html) {             

        }
    });

    window.location = "BroadCast.aspx"; // move it outside success
于 2012-06-04T08:06:04.173 に答える
0

asyncajax リクエストのオプションを使用して、コードを同期させることができます。デフォルトでは になりますtrue。にたどり着くことができますfalse'async':false

function InitiateService(option) {   
     $.ajax({
        url: "WebserviceTrigger.aspx?option=" + option,
        type: "POST",
        async: false,
        dataType: "html",
        cache: false,
        success: function(html) {             

        }
    });
于 2012-06-04T08:32:42.477 に答える