我是否应该使用HTTP响应代码触发jQuery';什么是ajax错误回调?

我是否应该使用HTTP响应代码触发jQuery';什么是ajax错误回调?,jquery,ajax,http,Jquery,Ajax,Http,我使用cmlenz的jquery iframe传输构建了一个文件上传器。 在$.ajax调用中,我希望通过错误回调来处理错误。 这可以通过让服务器发送HTTP错误代码(4xx或5xx)和我的错误消息来实现 $.ajax({ url: '/upload', error: function(jqXHR, textStatus, errorThrown){ // Handle error here } }); 另一种方法是解析成功回调,检测错误,然后处理它

我使用cmlenz的jquery iframe传输构建了一个文件上传器。 在$.ajax调用中,我希望通过错误回调来处理错误。 这可以通过让服务器发送HTTP错误代码(4xx或5xx)和我的错误消息来实现

$.ajax({
    url: '/upload',
    error: function(jqXHR, textStatus, errorThrown){
        // Handle error here
    }
});
另一种方法是解析成功回调,检测错误,然后处理它

 $.ajax({
    url: '/upload',
    success: function(data, textStatus, jqXHR){
        if(data && data.hasOwnProperty('error') {
            // Handle error here
        }
    }
});

基本上,我的问题是我应该在服务器端操作HTTP响应代码,以便在客户端轻松处理错误吗?当涉及到HTTP错误代码和ajax时,所有浏览器的行为都是一样的吗?或者这仅仅是对滥用HTTP的违反?

HTTP错误是正确的做法,但是。

这有点主观,但我已经开始在所有API中使用HTTP错误代码。它看起来更地道,更便于携带。所谓可移植性,我的意思是错误代码受到规范的约束,因此更容易记录和使用。然而,一些定制的东西只对你的API有意义。那么浏览器兼容性呢?当所有浏览器从服务器收到HTTP错误代码时,它们的行为是否相同?根据HTTP中的标准,你能用这些错误代码发送正文内容吗?我想几乎所有现代浏览器都会得到类似的结果。既然您使用的是jQuery,那么使用错误回调就不会有任何问题。至于包括数据。。。是的,您可以包含一个主体,事实上HTTP规范鼓励您这样做。我通常包括一个JSON响应,它以结构化的方式包含错误信息