2011-03-22 58 views
0

我可以在每次發出AJAX請求時創建一個函數嗎?關於jQuery Ajax請求的警報

這是函數:

function Exec() { 
    alert(1); 
} 

更新: Ajax請求被其他腳本我並不需要修改訂做!

+0

您可以致電此功能在響應的成功部分。 – ankur 2011-03-22 10:16:46

回答

2

試試這個

$(document).ajaxStart(function(){        
    alert(1); 
}); 
+0

+1我希望它僅用於測試目的。因爲它遠沒有用戶友好。 – 2011-03-22 10:17:58

+0

事實上,我發現它非常友好,因爲您可以單獨控制ajax請求的不同階段。但是,我不打電話給其他方法,不友好的用戶。 – Starx 2011-03-22 10:19:27

+0

這會在不需要的時候爲'$(document)'實例化一個新的'jQuery'對象。正如我的回答中所解釋的那樣,最好使用'$ .ajaxSetup'。 http://stackoverflow.com/questions/5389682/alert-on-jquery-ajax-request/5389713#5389713 – 2011-03-22 10:24:44

-1

要在完成一個Ajax請求運行功能,您可以使用complete選項:

function Exec() { 
    alert(1); 
} 

$.ajax('some-url.html', 
    { 
    complete: Exec 
    } 
); 

...或者,內聯:

$.ajax('some-url.html', 
    { 
    complete: function() { 
     alert(1); 
    } 
    } 
); 

爲了使這個默認爲所有Ajax請求,你可以用$.ajaxSetup

$.ajaxSetup({ 
    complete: function() { 
    alert(1); 
    } 
}); 
+0

「on ajax request」(開始時)不是eq完成的。 beforeSend是diEcho所述的正確答案 – karantan 2014-07-31 11:27:01

0

是的,你可以。例如,如果你使用JQuery,你可以使用下面的代碼做到這一點:

$.ajax('script/to/load', function (data) { alert('AJAX request made!'); }); 
0

相信你能 使用jQuery:

function Exec() { alert(1); } 
$.ajax({ 
    url: "test.html", 
    context: document.body, 
    success: Exec 
    } 
}); 
1

TRY beforeSend

$.ajax({ 
      url:'', 
      data: { }, 
      beforeSend: function() { 
       alert(1); 
      }, 
      error: function() { 
       alert('Error'); 
      }, 
      sucess: function (d) { 
       alert(d); 
      } 
     });