我是否必须使用jquery的ajax完整选项的匿名函数?

为什么我不能将命名函数传递给jquery ajax完整选项。 这是我的代码:

$.ajax({ type: 'post', url: baseURL + '/' + controller + '/' + action, data: params, success: function(data){ //do something }, complete: function(jqXHR, textStatus){ checkResponseCode(jqXHR, textStatus); } }); 

我想写出来:“完成:checkResponseCode(jqXHR,textStatus);”

您可以传递函数名称,但此代码是您调用函数:

 complete: checkResponseCode(jqXHR, textStatus); 

尝试complete: checkResponseCode

你可以缩短代码,但是,行complete: checkResponseCode(jqXHR, textStatus); 实际上调用checkResponseCode方法,这显然不是你想要的。

您可以将其简化为:

 $.ajax({ type: 'post', url: baseURL + '/' + controller + '/' + action, data: params, success: function(data){ //do something }, complete: checkResponseCode }); 

我有点生疏,但不会这样吗?

 $.ajax({ type: 'post', url: baseURL + '/' + controller + '/' + action, data: params, success: function(data){ //do something }, complete: checkResponseCode } });