【问题标题】:Redirect::to does not redirect with 302Redirect::to 不使用 302 重定向
【发布时间】:2014-05-24 19:52:25
【问题描述】:

我的控制器中某处有这段代码:

return Redirect::to('event/create')->withErrors($validation);

为什么我得到的 statusCode 是 200 而不是 302?

谢谢

ps:我用Response::json()来验证

【问题讨论】:

    标签: laravel-4 http-status-code-302


    【解决方案1】:

    为发生验证错误的页面返回 302。

    但是你被重定向到的页面会给你一个 200 的状态(因为它加载正确) - 所以当你在 那个页面上运行 Response::json() 你会得到 200。

    您可以在浏览器开发人员工具包中测试是否抛出了 302 和 200:

    【讨论】:

    • 是的,你是对的!所以在我的方法中,我想知道请求是 200 还是 302。我该怎么做? http_response_code() 似乎在两种情况下都返回 200:/
    • 你为什么想知道你的其他方法是否是 302?你想做什么?
    • 我正在为表单中的 input[type=hidden] 生成一个 uniqid。当验证出错时,我不想重新生成这个 uniqid。于是就想到了这个解决方案……奇怪的是不可能:o
    • 所以只需执行 isset($errors) - 无需担心 302 - 您已经知道是否有错误! :)
    • 是的,你是对的!还有其他解决方案,但我真的很想检测重定向;)
    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    相关资源
    最近更新 更多