我正在进行一个返回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);
}
答案 0 :(得分:4)
你基本上得到了它!只需一个调整:
function makeAjaxCall(variableSuccessFunction) {
$.ajax.... (ajax stuff goes here)...
success: variableSuccessFunction // no (xml)
}
你正在传递函数引用。 success
传递了对variableSuccessFunction
(无论可能是什么)的引用,并且就像你向它提供匿名函数一样调用它。无需在makeAjaxCall
内调用它。