返回正确的JSON响应

5

我正在使用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个回答

3

这正是它的工作原理。当API出现错误时,您会抛出HTML状态码-这是一种“最佳实践”。

控制台显示错误,因为它看到了非200状态码,然后向您发出警报。


啊,好的,所以我现在做的是正确的方式,只是需要习惯红色控制台错误...我觉得有点强迫症哈哈哈 - BigJobbies

0

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

在您的情况下,400 代码让浏览器认为您的 API 端点不存在,而 500 代码告诉它该端点存在,但在处理您的调用时出现了错误。


但是它仍然在控制台中显示500个内部服务器错误。 - BigJobbies

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接