我在laravel中遇到有关邮寄路线的问题。每当我尝试将数据发布到模型中时,都会出现419错误,即我的会话已过期。该问题的解决办法是什么?
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'body' => 'required',
]);
$post = new Post;
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->save();
return redirect('/posts')->with('success', 'Post created');
}
以下是刀片服务器代码
{!! Form::open(['action' => 'postsController@store', 'method' => 'POST']) !!}
<div class='form-group'>
{{ Form::label('title','Title') }}
{{ Form::text('title','',['class'=>'form-control','placeholder'=>'Title']) }}
</div>
<div class='form-group'>
{{ Form::label('body','Body') }}
{{ Form::textarea('body','',['id'=>'article-ckeditor','class'=>'form-control','placeholder'=>'Body Text']) }}
</div>
{{ Form::submit('Submit',['class'=>'btn btn-primary']) }}
{!! Form::close() !!}
答案 0 :(得分:6)
在表单中添加CSRF字段:
{!! csrf_field() !!}
VerifyCsrfToken
中间件(默认包含在Laravel应用中)要求每个POST请求都包含一个预先生成的CSRF令牌。这样可以提高安全性(请参见CSRF Wiki page)。如果要禁用此功能,则可以使用VerifyCsrfToken
中间件删除/停止,也可以列出应从CSRF验证中排除的URI(请参见documentation)。