微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery:如何从$.ajax.error方法中获取HTTP状态代码?

我使用jQuery做一个AJAX请求。我想要执行不同的操作,无论HTTP状态代码是400错误还是500错误。我该如何实现呢?
$.ajax({
    type: 'POST',url: '/controller/action',data: $form.serialize(),success: function(data){
        alert('horray! 200 status code!');
    },error: function(data){
        //get the status code
        if (code == 400) {
            alert('400 status code! user error');
        }
        if (code == 500) {
            alert('500 status code! server error');
        }
    },});

更新:

@GeorgeCummins提到,“看起来奇怪”与响应体工作。这是我第一次尝试做这种事情。我的方法不是最佳实践吗?你会推荐什么?我在这里创建了另一个StackOverflow问题:What response/status code should I send to an AJAX request when there is a user/form validation error?

解决方法

如果你使用jQuery 1.5,那么statusCode将工作。

如果你使用jQuery 1.4,试试这个:

error: function(jqXHR,textStatus,errorThrown) {
    alert(jqXHR.status);
    alert(textStatus);
    alert(errorThrown);
}

您应该从第一个警报中看到状态代码

原文地址:https://www.jb51.cc/jquery/185098.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐