【问题标题】:Laravel cannot get a POST in index (/)Laravel 无法在索引 (/) 中获取 POST
【发布时间】:2023-03-30 02:24:02
【问题描述】:

我的应用程序的索引视图中有一个搜索表单,但是每当我提交它时,它都会重定向回主页。查看 Chrome 的网络选项卡,我在提交时看到了一个302 Move Permanently 状态码。我想要做的是,我正在获取用户关键字,存储它们并重定向到搜索页面。

编辑: 在搜索升技后,我发现this 也有类似的问题。提供的答案并没有解决我的问题。

在 routes.php 中

Route::get('/', ['as' => 'home', 'uses' => 'PagesController@home']);

/.../

Route::group(['before' => 'csrf'], function()
{
    Route::post('/', ['as' => 'post-search', 'uses' => 'UserController@postSearch']);
});

我的表格:

<form action="{{ URL::route('post-search') }}" method="POST" class="form-inline search">
    {{ Form::token() }}
    <input type="text" name="search" class="form-control" placeholder="{{ trans('form.search') }}">
    <input type="submit" class="btn btn-primary" value="Search">
</form>

最后,我的控制器方法:

public function postSearch()
{
    $fields = Input::all();

    $rules = [ 'search' => 'required' ];

    $validator = Validator::make($fields, $rules);

    if ($validator->fails())
    {
        return 'Validation did not work.';
    }
    else
    {
        $search = Input::get('search');

        return Redirect::route('search', $search);
    }

    return 'Something terrible happened.';
}

非常感谢您的帮助。

【问题讨论】:

  • 是的,这是我的错。但似乎 postSearch() 方法甚至没有被触发。
  • 奇怪,您的确切代码(减去 PageController 并重定向到“搜索”路线)在我这边完美运行。
  • 这确实很奇怪,我用 Firefox 试过,但我也得到了 302 Move Permanently 状态码!
  • 你的 Laravel 版本是什么?您是否安装了任何第三方软件包?你做了composer dump-autoload 吗? (即使我的尝试没有这样做)
  • 不,我有一个干净的 Laravel 4.2 安装,没有第三方包。我也执行了该命令,但没有任何改变。

标签: php laravel laravel-4


【解决方案1】:

我以前也遇到过类似的情况,当会话中存储的 csrf 令牌与表单生成的不同时,就会发生这种情况。 所以,修改你的代码让我们看看会发生什么。

来自

Route::group(['before' => 'csrf'], function()

{ Route::post('/', ['as' => 'post-search', 'uses' => 'UserController@postSearch']); });

到`

Route::post('/', ['as' => 'post-search', 'uses' => 'UserController@postSearch']);

如果它以这种方式工作,那么您必须在重新启用 csrf 之前清除浏览器的 cookie 和会话

【讨论】:

    猜你喜欢
    • 2018-04-07
    • 2021-10-17
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多