首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >laravel中的表单提交不起作用,并显示令牌不匹配异常

laravel中的表单提交不起作用,并显示令牌不匹配异常
EN

Stack Overflow用户
提问于 2017-10-29 17:47:21
回答 3查看 1.2K关注 0票数 0

我是新学拉威尔的人。我在laravel 5.4中创建了一个表单,并添加了两个字段,一个是文本字段,另一个是提交按钮。我已经为表单提交创建了一个名称路由。但是当我提交表单时,它是show token mismatch异常。我无法从我的代码中找出错误。这是我的表单代码。

代码语言:javascript
复制
<form method="post" action="{{route('f.submit')}}">
    {{csrf_field()}}

    <input class="form-control" type="text" name="fname">
    <input type="submit" name="submit" value="Create">
</form>

这是我的路线

代码语言:javascript
复制
Route::post('formsubmit','HomeController@formSubmit')->name('f.submit');

这是我的控制器,

代码语言:javascript
复制
 public function formSubmit()
{
    echo "Form Submitted";
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-21 14:51:29

尝尝这个。对于表单。

代码语言:javascript
复制
<form method="post" action="{{route('f.submit')}}">
{{csrf_field()}}

<input class="form-control" type="text" name="fname">
<input type="submit" name="submit" value="Create">

在控制器中。

代码语言:javascript
复制
public function formSubmit(Request $request)
{
  $request->all();
}
票数 0
EN

Stack Overflow用户

发布于 2017-10-29 17:59:55

您必须为token添加输入隐藏字段。将视图更改为:

代码语言:javascript
复制
<form method="post" action="{{route('f.submit')}}">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">

    <input class="form-control" type="text" name="fname">
    <input type="submit" name="submit" value="Create">
</form>
票数 0
EN

Stack Overflow用户

发布于 2017-10-30 18:33:12

您能否确保您的/storage目录具有适当的写入权限(0755)?如果你在Linux中,你可以通过sudo chmod 0755 -R storage/改变它。

另外,尽量不要转义csrf_field()值。使用{!! csrf_field !!}代替{{ csrf_field() }},因为帮助器函数会输出HTML

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46998794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档