在POST请求中解决VerifyCsrfToken.php中的令牌不匹配异常

在POST请求中解决VerifyCsrfToken.php中的令牌不匹配异常,php,forms,laravel,post,token,Php,Forms,Laravel,Post,Token,我对拉威尔有点陌生。我已经为GET和POST创建了一些路由,但唯一有效的是GET路由。POST总是返回TOKENMATCHEXCEPTION,即使内部的进程和数据库查询执行正确。我在电视上看到的一些问题通常都是关于AJAX的,解决方案包括发送令牌。但我不使用任何AJAX。。。然而,通常的答案是,如果我使用一个普通的POST表单,Laravel会插入一个隐藏的标记 以下是路线代码: Route::post('/practice/{level_id?}/{group_id?}/{command?}'

我对拉威尔有点陌生。我已经为GET和POST创建了一些路由,但唯一有效的是GET路由。POST总是返回TOKENMATCHEXCEPTION,即使内部的进程和数据库查询执行正确。我在电视上看到的一些问题通常都是关于AJAX的,解决方案包括发送令牌。但我不使用任何AJAX。。。然而,通常的答案是,如果我使用一个普通的POST表单,Laravel会插入一个隐藏的标记

以下是路线代码:

Route::post('/practice/{level_id?}/{group_id?}/{command?}', 'WebController@practice');
Route::get('/practice/{level_id?}/{group_id?}/{command?}', 'WebController@practice');
以下是我在网络控制器上接收信息的方式:

public function practice($level_id = "", $group_id = "", $command = "")

有什么不对劲吗?什么可能使我的POST请求失败?谢谢。

请在表单中添加隐藏字段。如果您使用的是Laravel form builder,则当您执行
form::open()
时,它会自动向表单中添加隐藏的令牌字段
试试这样的方法:

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

请在表单中添加隐藏字段。如果您使用的是Laravel form builder,则当您执行
表单::open()
时,它会自动向表单中添加隐藏的令牌字段
试试这样的方法:

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

如果您使用的是
Form::open
方法,而新版本的Laravel不需要安装它,那么就不会出现令牌不匹配异常的问题。但是如果您使用的是HTML5表单标记,那么您需要在HTML表单中添加
{{{csrf_field()}}
,这将生成

<input type="hidden" name="_token" value="53sfsffxth7AYe4RFSjzaPf2ygLCecJhbkhblah">

如果您使用的是
Form::open
方法,而新版本的Laravel不需要安装它,那么就不会出现令牌不匹配异常的问题。但是如果您使用的是HTML5表单标记,那么您需要在HTML表单中添加
{{{csrf_field()}}
,这将生成

<input type="hidden" name="_token" value="53sfsffxth7AYe4RFSjzaPf2ygLCecJhbkhblah">


发送隐藏的输入字段类似这样的内容
@ChoncholMahmud你是说
?是的,我是说..你能给我看一下表单字段吗?@ChoncholMahmud哦,添加代码并清除缓存后,现在它可以工作了。我把普通表单和我从这个问题中读到的“表单构建器”混淆了,这个问题建议删除令牌。谢谢发送类似这样的隐藏输入字段
@ChoncholMahmud你是说
?是的,我是说..你能给我看一下表单字段吗?@ChoncholMahmud哦,添加代码并清除缓存后,它现在可以工作了。我把普通表单和我从这个问题中读到的“表单构建器”混淆了,这个问题建议删除令牌。谢谢