2016-11-13 5 views
0

私のプロジェクトでjQuery.postをたくさん使用しています。ブラウザが投稿リクエストを送信するたびに、リクエストが進行中のときにプリローダを表示してから、プリローダを停止しますサーバーを構成する回答を得る:私はjQueryのポストを呼び出すたびにjQuery.postとコールバックにイベントをバインドする

var params = {'action':'get_customer_info', 'customerID':4}; 

preloader.start(); 
$.post('ajax/url', params, function(response){ 
    preloader.stop(); 

    responseHandler(response); 
}); 

代わりのpreloader.startを追加する()とpreloader.stop()ライン、私はjQeury前に/トリガイベントをバインドしたいのですが.postも成功/失敗ハンドラで処理します。

一般的にイベントをバインドしてトリガーする方法はわかっていますが、$ .postとハンドラーでこれをどうすればいいのか分かりません。

どうすればよいですか?

答えて

1

あなたはグローバルなAjaxのイベントを設定することができ、その方法は、プリローダーが

$(document).ajaxSend(function() { 
    preloader.start(); 
}).ajaxComplete(function() { 
    preloader.stop(); 
}); 

すべてのAJAX要求に示しそれとも、

のように使用されるためには、あなた自身の post機能

function post(url, params) { 
    preloader.start(); 
    return $.post('ajax/url', params, function(response){ 
     preloader.stop(); 
    }); 
} 

を作成することができます

post('ajax/url', params).done(function(response) { 
    responseHandler(response); 
}); 
関連する問題