【问题标题】:Slim return response with status 400 and redirectSlim 返回响应,状态为 400 并重定向
【发布时间】:2019-07-01 04:14:50
【问题描述】:

您好,如果发布请求失败,我正在尝试返回 400 状态代码,然后将用户重定向回他们发布帖子的页面。

我尝试了以下示例:

return $response->withRedirect('/view/companies', 400);

这只是返回一个白页

return $response->withStatus(400);

这只是返回一个白页

return $response->withJson([], 400);

这只是返回一个在顶部带有 this 的白页

return $response->withRedirect('/view/companies');

这会将用户返回到页面,但不会出现 400 错误。

【问题讨论】:

标签: php slim


【解决方案1】:

根据https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections

HTTP 重定向是状态码为 3xx 的响应。

因此,状态码为400 的重定向是不可能的(尽管它在 Slim 3.9 之前的版本中有效,请参阅https://github.com/slimphp/Slim/issues/2355)。

【讨论】:

  • 你会建议只重定向而不是通过错误吗?
  • @Lukerayner 是的,至少当我遇到这个问题时我就是这样做的。
  • 好的,谢谢您的帮助!无论如何我都会显示一条错误消息,所以这不是问题。
  • 我建议您显示错误并且不要重定向用户。来自Status Code DefinitionsThis class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request.,但正如您所描述的,无法处理请求,即使采取额外的步骤也是如此。所以看起来适当的响应代码应该是 4xx。
猜你喜欢
  • 2017-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-11
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多