-5

プロジェクトに jquery を使用しています。

次の要件があります。

他の 5 つの関数を呼び出す関数呼び出しを行う必要があります。これら 5 つの関数は、互いに独立して動作する ajax 呼び出しです。ajax 呼び出しはサーバーからデータを取得し、値をグローバル オブジェクトに追加します。

すべての ajax 呼び出しが完了しているかどうかを確認するのが困難です。すべての呼び出しが完了したら、それを localStorage に設定してから、別の html ファイルをロードする必要があります。

それを行う最良の方法は何ですか?

4

2 に答える 2

0

行われた ajax 呼び出しの数が一定の場合、次のロジックを使用できます

COUNTER=5;
function reduceCounter(){
    COUNTER --;

    if(COUNTER == 0)
    {
    localStorage.Obj=JSON.stringify(Obj);         
    location.href="nextPage.html";

    }

各 ajax 呼び出しで、.always(); で reduceCounter() を呼び出します。

例えば:

$.ajax({
        url: ..
        type: 'GET',
        dataType: 'json',       
     })
    .done(){...
       //set Obj
     },
    .fail(){...
     },.always(){

     reduceCounter();
   }
于 2015-10-15T09:12:50.977 に答える
0

うーん...それはあなたがjQuery Loadでできることですか、それはあなたが関数や何かを呼び出す前にすべてがロードされていることを確認します:

$(document).ready(function() {
 //Make sure all DOMs loaded! 
}):
于 2015-10-09T07:21:48.620 に答える