在jquery示例中,我看到通常在$ .ajax()中定义成功函数 我们可以将它移到身体外。
答案 0 :(得分:4)
如果你的意思是这样的话:
function onSuccess()
{
$(this).addClass("done");
}
$.ajax({
url: "test.html",
context: document.body,
success: onSuccess
});
然后是的,你可以这样做。
答案 1 :(得分:2)
是的,当然。您可以为变量分配匿名函数:
var handleSuccess = function(data) {
alert(data);
};
或者您可以将其命名为命名函数:
function handleSuccess(data) {
alert(data);
}
对于这两种选择,您只需在对象中使用变量/函数的名称:
$.ajax({
success: handleSuccess
...
});
答案 2 :(得分:0)
我使用dojo比jquery更多,但想法是一样的。只要ajax调用可以引用此外部函数,就没有理由不能这样做。您可能遇到这样的问题:当调用此ajax函数时,它可能无法再进入成功函数,具体取决于您的设置方式。 dojo.hitch(context,function)会为你解决这个问题。