2012-12-19 41 views
5

我正在做一個返回XML的ajax調用。這個XML需要根據用戶所在站點中的頁面部分進行不同的處理。因此,我想實現1個ajax函數,這個函數可以調用,並且有一個可變的成功函數...我確定它很簡單,但是我搜索了一段時間,並且找不到它。如何利用具有多個成功功能的通用AJAX調用

function makeAjaxCall(variableSuccessFunction) { 
    $.ajax.... (ajax stuff goes here)... 
    success: variableSuccessFunction(xml) 
} 
function ViewOne(xml) { 
    //take the XML and update the dom as appropriate 
} 
function ViewTwo(xml) { 
    //take the XML and update the dom as appropriate 
} 

$(document).ready(function() { 
    //be able to call either one of these functions 
    makeAjaxCall(ViewOne); 
    makeAjaxCall(ViewTwo); 

} 

回答

4

你基本上已經明白了!只是一個好辦法:

function makeAjaxCall(variableSuccessFunction) { 
    $.ajax.... (ajax stuff goes here)... 
    success: variableSuccessFunction // no (xml) 
} 

你身邊掠過函數的引用。 success傳遞給variableSuccessFunction(不管可能是什麼)的引用,並將其稱爲就像它會提供匿名函數一樣。無需在makeAjaxCall內調用它。

+0

很酷謝謝你!我嘗試了各種不同的組合,並且這個工作正常! – Chad