2014-03-01 57 views
0

我在很多不同領域的web應用程序中使用jquery ajax。對於大部分的調用來說,成功函數都非常相似,所以將它們重構爲一個通用函數是有意義的。但是,當一些Ajax調用的成功,我打電話jquery ajax成功 - 如何獲得發起人在一個共同的功能?

$(event.target).effect("highlight",{},3000); 

進行可視反饋呼叫成功,還有什麼辦法,據我只知道有一個共同的功能,要做到這會從ajax調用中返回返回值嗎?

回答

0

您可以將每次重複的邏輯分解出來,但您需要在可以訪問要更改的元素的包裝函數中調用它。

//Generic success handler 
function handler(element) { 
    $(element).effect("highlight",{},3000) 
} 


$('#element1').on('click', function(event) { 
    $.ajax({ 
    //other options... 
    success: function() { handler(event.target) } 
    }) 
}); 

$('#element2').on('click', function(event) { 
    $.ajax({ 
    //other options... 
    success: function() { handler(event.target) } 
    }) 
}); 
+0

這當然是一種做法。謝謝。 – MortenSickel

0

你可以使用ajaxSuccess全局回調​​,請參考鏈接,你很好去。 例如:

$(document).ajaxSuccess(function(event) { 
    $(event.target).effect("highlight",{},3000); 
    } 
}); 

這將被要求任何succesfull AJAX調用。