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

发布于 2024-11-16 08:27:27 字数 438 浏览 0 评论 0原文

为什么我不能将命名函数传递给 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);”

Why can't I pass a named function to the jquery ajax complete option. Here's my code:

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

    });            

I wanted to just write out: "complete: checkResponseCode(jqXHR, textStatus);"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

毁梦 2024-11-23 08:27:27

尝试完成:checkResponseCode

Try complete: checkResponseCode

神魇的王 2024-11-23 08:27:27

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

您可以将其简化为:

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

You can shorten up the code, BUT, the line complete: checkResponseCode(jqXHR, textStatus); actually invokes the method checkResponseCode, which is clearly not what you want.

You can simplify it to just:

$.ajax({
    type: 'post',
    url: baseURL + '/' + controller + '/' + action,
    data: params,
    success: function(data){
      //do something
    },
    complete: checkResponseCode
}); 
并安 2024-11-23 08:27:27

我有点生疏了,但这行不通?

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

});            

I'm a little rusty, but wouldn't this work?

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

});            
傾城如夢未必闌珊 2024-11-23 08:27:27

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

complete: checkResponseCode(jqXHR, textStatus);

You can pass a function name, but this code is you invoking a function:

complete: checkResponseCode(jqXHR, textStatus);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文