问题描述
|
在jquery示例中,我看到通常是在$ .ajax()内定义成功函数。
我们可以将其移动到体外吗?
解决方法
如果您的意思是这样的:
function onSuccess()
{
$(this).addClass(\"done\");
}
$.ajax({
url: \"test.html\",context: document.body,success: onSuccess
});
那是的,你可以做到。
,当然是。您可以将匿名函数分配给变量:
var handleSuccess = function(data) {
alert(data);
};
或者您可以将其命名为函数:
function handleSuccess(data) {
alert(data);
}
对于这两种选择,您只需在对象中使用变量/函数的名称:
$.ajax({
success: handleSuccess
...
});
,我使用dojo比使用jquery多,但想法是相同的。只要ajax调用可以引用此外部函数,就没有理由不能这样做。您可能会遇到这样的问题:调用此Ajax函数时,它可能不再能够使用成功函数,具体取决于您如何进行设置。 dojo.hitch(context,function)将为您解决此问题。