2016-11-28 1 views
0

Voici mon appel ajax:demande ajax ne s'arrête pas

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

Voici mon CSS chargeur:

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

Quand je fais un appel ajax qui répond d:'' une chaîne vide, mais mon événement ajaxstop: ne tire pas.

+0

dans la méthode de succès d'ajax vous pouvez utiliser jquery pour enlever css dynamiquement –

+0

Je ne sais pas ... mais ne devrait-ce pas être '$ ('body')' – Dherya

Répondre

0

Vous avez à cacher votre chargeur sur ajax() complet comme:

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

complet exécuté après soit le succès ou le rappel d'erreur ont été exécutés.

0

Vous devez comprendre que les événements ajaxStart et ajaxStop relèvent des gestionnaires d'événements globaux dans jQuery. Par conséquent, vous devez les connecter à document au lieu d'avoir dans votre appel $ajax.

Vous devez réécrire votre code comme,

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

Hope this helps!