【问题标题】:Laravel 5 POST method is not workingLaravel 5 POST 方法不起作用
【发布时间】:2018-06-12 01:16:10
【问题描述】:

我的 Laravel get 方法有效,但 post 方法无效。

控制器

public function create(Request $request)
{

    if (Request::isMethod('post'))
    {
        echo 'text';
        exit;
    }

}

刀片

<form action="{{route('create')}}" method="POST">
<input name="name" class="form-control" type="text">    
<input name="email" class="form-control" type="email">  
<input type="submit" class="btn btn-primary btn-lg btn-block" name="submit">
</form>

路线

Route::post('/create', 'Tools\PostController@create')->name('create');

错误

页面因不活动而过期。 请刷新并重试。

【问题讨论】:

  • 你确定静态 isMethod 调用是合法的吗?并且表现得像预期的那样?我很确定你应该从 $request 动态调用它
  • 你能提供更多的代码吗,有命名空间等等。

标签: php laravel-5


【解决方案1】:

您收到“由于不活动,页面已过期。请刷新并重试”,因为您没有通过发布请求传递 csrf 令牌。

默认情况下,laravel 拒绝请求中没有 csfr 令牌的任何发布请求。

试试这个:

在您的刀片文件中包含一个隐藏输入,如下所示:

<input name="token" type="hidden" value="{{ csrf_token() }}">

更多信息请参考docs

【讨论】:

    猜你喜欢
    • 2018-04-21
    • 2016-09-04
    • 2016-05-02
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多