2011-07-22 32 views
0

我有一個場景,我需要處理常見的所有jquery成功事件。因爲我想要在所有ajax成功事件之後調用一些委託。我知道我們可以使用$.ajaxComplete$.ajaxSucess。但問題是我所有的ajax調用都有自己的成功處理程序,所以最終$ .ajaxSucess將被覆蓋。jquery在一個地方處理所有ajax成功事件的方式

我知道我可以編寫一個通用的方法,我可以把所有的ajax成功處理程序。但我不想那麼做,我想知道更清潔的方式。

是否有一個方法處理程序已經在jquery中,或者最好的辦法是什麼?

+0

爲了清楚起見,您已拼寫出'.ajaxSuccess'>'$ .ajaxSucess'(缺少c)。而在'的Jquery> 1.8'你可能'$(文件)後.ajaxSuccess(函數(){ 警報( '耶BOI!'); });' – Tr1stan

回答

1

$.ajaxSuccess方法應該能正常運行,如this live demo看到,它不與現有的阿賈克斯成功處理程序發生衝突。這是每個人的後執行:

$('#msg').ajaxSuccess(function(result) { 
    alert('ajax succeeded');  
}); 
+0

是的,它怪異的工作不適合我,我想我試過$ .ajaxSucess不是$('#msg')。ajaxSucess .. – RameshVel

+0

@Ramesh Vel,你的DOM中有一個'

'元素嗎? –

+0

nope。我只是試圖像$ .ajaxPrefilter()..我仍然沒有得到它,$('#味精')需要什麼, – RameshVel

1
$.when($.ajax("/page1.php"), $.ajax("/page2.php")) 
    .then(mySuccessFunc, myFailureFunc); 
1

嘗試在此way-

$.when(// your all ajax call) 
    .then(//delegate handler after ajax succes) 
1

$.ajaxSuccess不是由本地成功處理程序重寫,它在當地的一個後執行。

相關問題