4

Ajax リクエスト中に表示されるロードdivまたはローダーがあります。

$('#loadingDiv').ajaxStart(function () {
        $(this).show();
    }).ajaxComplete(function () {
        $(this).hide();
    });

すべての Ajax リクエスト中にローダーが表示されるようにしたいのですが、特定のリクエストでは表示されないようにします。

私は次のことを試しました:

$.ajax({
                url: 'Handler.ashx',
                success: function (msg, status, xhr) {
                    $('#loadingDiv').hide();
}.....

しかし、divが表示されてから消えます。まったく表示したくありません。

4

4 に答える 4

8

globalリクエストを行うときに false に設定します。

$.ajax({
    url: 'Handler.ashx',
    global: false,
    ...
});

Ajax.Eventsのドキュメントを参照してください。

于 2013-08-21T16:58:31.697 に答える
1

Ajax オプションで使用して、リクエストがグローバル イベント ハンドラーglobal: falseをトリガーしないようにします。

$.ajaxドキュメントglobalでは、オプションについて次のように述べています。

またはfalseのようなグローバル ハンドラーがトリガーされないようにするには、 に設定します。ajaxStartajaxStop

.ajaxStartドキュメントから:

オプションを に設定し$.ajax()て ... を呼び出すと、メソッドは起動しません。globalfalse.ajaxStart()

于 2013-08-21T16:58:32.490 に答える
0
$.ajax({
                url: 'Handler.ashx',
beforesend:function(){
// apply your code 
},
                success: function (msg, status, xhr) {
                    $('#loadingDiv').hide();
}.....

参照ajax

于 2013-08-21T16:58:20.837 に答える