我是否应该使用HTTP响应代码触发jQuery';什么是ajax错误回调?
我使用cmlenz的jquery iframe传输构建了一个文件上传器。 在$.ajax调用中,我希望通过错误回调来处理错误。 这可以通过让服务器发送HTTP错误代码(4xx或5xx)和我的错误消息来实现我是否应该使用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 } }); 另一种方法是解析成功回调,检测错误,然后处理它
$.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响应,它以结构化的方式包含错误信息