如何利用具有多个成功函数的通用AJAX调用

时间:2012-12-19 23:06:22

标签: javascript jquery

我正在进行一个返回XML的ajax调用。需要根据用户所在站点内的页面部分来不同地处理此XML。因此,我想实现1个调用函数的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);

}

1 个答案:

答案 0 :(得分:4)

你基本上得到了它!只需一个调整:

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

你正在传递函数引用。 success传递了对variableSuccessFunction(无论可能是什么)的引用,并且就像你向它提供匿名函数一样调用它。无需在makeAjaxCall内调用它。