我有一个带有错误回调的 $.ajax 调用:
error: function(result){
$('#msg').text(result.statusText).addClass('err');
}
Run Code Online (Sandbox Code Playgroud)
我想将其更改为更通用的:
error: myError(result)
Run Code Online (Sandbox Code Playgroud)
然后就靠它自己了:
function myError(theError){
$('#msg').text(theError.statusText).addClass('err');
}
Run Code Online (Sandbox Code Playgroud)
但是萤火虫告诉我“结果”没有定义。
问:我是这样称呼的吗?
error: function(result){
myError(result);
}
Run Code Online (Sandbox Code Playgroud)
您只需要函数名称,而不是任何括号或参数,如下所示:
error: myError
Run Code Online (Sandbox Code Playgroud)
它将使用与匿名函数相同的参数调用该函数引用,现在它正在尝试实际执行该函数(result作为参数......它无法找到的变量)并将结果分配为error处理程序,您希望函数本身作为错误处理程序实际运行。