2009-06-02 15 views
0

kann nicht scheinen die AjaxSend und Stop zu arbeiten ... Dies sind globale Variablen nicht? .. aber ich sollte in der Lage sein, so zu verwenden ... aber ich bekomme nie eine Warnung?Jquery: ajaxSend & ajaxStop-Ereignisse funktionieren nicht?

Ich wollte diese Ereignisse verwenden, um eine Ajax-Animation .. angezeigt werden, obwohl in meinem Code ich je die Ajax-Animation positionieren wollen, was ich ein tue, welches Element es ist ..

  $.ajax({ 
      type: "POST", 
      url: "MyService.aspx/TestMe", 
      data: JSON.stringify(data), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      ajaxSend: function(r,s) { 
       alert('i am starting'); 
      } 
      , 
      ajaxStop: function(r,s) { 
       alert('i am stopping'); 
      } 
      , 
      success: function(msg) { 
      } 
     }); 

Antwort

2

So Sie don verwende diese Funktionalität nicht richtig. AjaxStop, AjaxComplete usw. sind keine Parameter der $ .ajax-Funktion. Nehmen wir an, Sie haben ein Ajax-Symbol, das Sie bei Abschluss der Anfrage entfernen möchten.

$("#ajax_icon").ajaxStop(function(){ 
    $(this).hide(); 
}); 

Sie haben eine gute Referenz here

PS. Bei anderer Funktion ist das gleich.

+2

Ab jQuery 1.8 sollten Sie nur diese Handler an das Dokument anhängen: '$ (document) .ajaxStop (function() {})' –

2

Das ist Globals und die Art, wie ich sie in der Regel zugewiesen sehen ist:

$('element').ajaxStart(function() { 
... do something ... 
} 

sie auf eine bestimmte Ajax-Anforderung zuordnen, ich bin nicht sicher, ob das tun, was Sie es tun wollen.

Verwandte Themen