0

ajax リクエストを作成し、サーバーから返されたデータを処理する必要があります。書類の準備が整う前に、このリクエストを行いたいのですが。しかし、ドキュメントの準備ができて初めてデータを処理できるようになります。私はこのようなものを作るためのアイデアを持っています:

$.when($(document).ready(),
       $.ajax(/*some request*/)).done(function(){//processing data from the server});

それはどのように機能しますか?または、私が望む結果を得るための他のオプションはありますか

4

3 に答える 3

0

非同期ヘルパー ライブラリを使用せずに、いくつかのフラグとヘルパー関数を使用できます。最もエレガントではありませんが、機能します

var docReady = false;
var responseReady = false;
var tryEvaluateResponse = function() { 
    if(docReady && responseReady) {/*processing data from the server*/}
};
$(document).ready(function() {
    docReady = true;
    tryEvaluateResponse();
});
$.ajax(/*some request*/)).done(function() {
    responseReady = true; 
    tryEvaluateResponse()
});
于 2015-04-06T21:38:15.883 に答える
0

いいえ、$(document).ready()約束を返さないので、これは機能しません。ただし、できる

var request = $.ajax(/*some request*/);
$(document).ready(function() {
    request.done(function(){
        //processing data from the server
    });
});
于 2015-04-06T21:44:20.330 に答える
0

使用してみてください: $( document ).ajaxComplete(function() {}

于 2013-11-29T12:32:33.127 に答える