5

我正在进行一个返回 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);

}
4

1 回答 1

4

你基本上已经掌握了!只需一个调整:

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

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

于 2012-12-19T23:20:03.380 回答