2009-06-02 3 views
0

, похоже, не может получить ajaxSend и перестать работать ... Это глобальные переменные нет? .. но я должен уметь использовать вот так ... но я никогда не получаю предупреждение?JQuery: события ajaxSend & ajaxStop не работают?

Я хотел использовать эти события, чтобы отобразить АЯКС анимацию .. хотя в моем коде я хочу, чтобы поместить АЯКС анимации в зависимости от того, что я делаю какой элемент это ..

  $.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) { 
      } 
     }); 

ответ

2

Таким образом, вы дон Не используйте эту функцию правильно. ajaxStop, ajaxComplete и т. д. не являются параметрами функции $ .ajax. Скажем, у вас есть значок ajax, который вы хотите удалить по завершении запроса.

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

У вас есть хорошая ссылка here

PS. С другой функцией то же самое.

+2

Начиная с jQuery 1.8 вы должны прикреплять эти обработчики только к документу: '$ (document) .ajaxStop (function() {})' –

2

Те Глобал, и способ, которым я обычно вижу их присвоенные:

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

Назначения их конкретный запрос AJAX, я не уверен, если это будет делать то, что вы хотите, чтобы это сделать.