我正在使用Laravel 4进行我正在进行的项目。它在很多功能上都非常依赖AJAX。
在我用来上传文件的jQuery(fileupload)中,我有以下成功和失败的功能:
done: function (e, data) {
// Show success message
},
fail: function (e, data) {
// Show fail message
}
在我的控制器中,我使用以下命令返回成功或失败:
// Success Response
return Response::json('success', 200)
// Fail Response
return Response::json('error', 400)
一切正常,功能,成功和失败消息显示,文件上传,一切都很完美,除非功能失败并返回失败响应,在控制台中我看到:
400 (Bad Request)
错误消息仍然显示并且一切正常,但我只是想知道我是否正确处理此问题,我不喜欢在我的控制台中显示的红色错误似乎是工作正确。
非常感谢任何建议。
答案 0 :(得分:3)
这正是它的工作原理。您正在为错误抛出HTML状态代码 - 这是API的“最佳实践”。
控制台显示错误,因为它看到非200状态代码,然后提醒您。
答案 1 :(得分:0)
对于API,如果出现错误,我经常使用500
代码,因为它是服务器错误。 40x
代码与本文档http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
在您的情况下,400代码让浏览器认为当500代码告诉它该端点没问题但是在操作您的呼叫时出错时,您的API端点不存在。