返回正确的JSON响应

时间:2014-10-23 04:43:56

标签: php jquery json laravel laravel-4

我正在使用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)

错误消息仍然显示并且一切正常,但我只是想知道我是否正确处理此问题,我不喜欢在我的控制台中显示的红色错误似乎是工作正确。

非常感谢任何建议。

2 个答案:

答案 0 :(得分:3)

这正是它的工作原理。您正在为错误抛出HTML状态代码 - 这是API的“最佳实践”。

控制台显示错误,因为它看到非200状态代码,然后提醒您。

答案 1 :(得分:0)

对于API,如果出现错误,我经常使用500代码,因为它是服务器错误。 40x代码与本文档http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

中提到的客户端错误一起使用

在您的情况下,400代码让浏览器认为当500代码告诉它该端点没问题但是在操作您的呼叫时出错时,您的API端点不存在。