0

これが私のajax呼び出しです:

 $.ajax({
                        url: "AutoRFQ_Vendors_ST.aspx/BindVesselGrid",
                        type: "POST",
                        timeout: 3000,
                        data: JSON.stringify(sendingdata),                  
                        contentType: "application/json",
                        success: function (data) {
    //do something
    }

これが私のCSSローダーです:

  ajaxStart: function () { $body.addClass("loading"); },
            ajaxStop: function () { $body.removeClass("loading"); }

d:''空の文字列に応答する ajax 呼び出しを行うと、ajaxstop:イベントが発生しません。

4

2 に答える 2

0

次のように ajax() 完全にローダーを非表示にする必要があります。

ajax({
    complete: function(){
        $body.removeClass("loading");
    }
});

completeは、成功コールバックまたはエラー コールバックのいずれかが実行された後に実行されます。

于 2016-11-28T06:21:34.830 に答える
0

ajaxStartおよびajaxStopイベントは、jQuery のグローバル イベント ハンドラーに分類されることを理解する必要があります。documentしたがって、呼び出しに含める代わりに、それらをフックする必要があります$ajax

コードを次のように書き直す必要があります。

$(document)
 .ajaxStart(function () {
   $body.addClass("loading");
 })
.ajaxStop(function () {
   $body.removeClass("loading");
});

お役に立てれば!

于 2016-11-28T06:26:28.807 に答える