私は .ajaxStart() と .ajaxStop() を使用して、ajax リクエストが行われている間にモーダルを表示しています。(スタートとストップの間)
ここで、このサイトの左上隅にあるような、通知を待ち続ける longpoll 関数を追加したいと思います。
私の問題は、ロングポーリング要求に対してのみこのモーダルを無効にすることにあります..
「ロード画面」のオン/オフ ハンドラの登録:
$(document).ajaxStart(handleAjaxStart);
$(document).ajaxStop(handleAjaxStop);
私のロングポール機能:
$.ajax({
timeout: 35000,
url: longPollUrl,
success: function(data){
if(data.queCount) $('#numQueCount').html(data.queCount);
if(data.queAccept) $('#numQueAccept').html(data.queAccept);
},
dataType: 'json',
complete: longpoll
});
私は試した:
$().off('ajaxStart');
$().off('ajaxStop');
..ポーリングを開始した後にハンドラーを再接続しますが、喜びはありません。
また、関数の最初の行で返されるグローバル変数を導入しようとしましたhandleAjaxStart()
が、ロード画面を完全に殺してしまうようです。
これを達成する方法はありますか?