【发布时间】:2020-07-18 15:23:03
【问题描述】:
我刚开始使用 laravel,我正在尝试为 praactive 创建一个简单的 post 表单,提交时会出现 419 错误,所以我在表单中使用了 @csrf。
HTML 表单:
<form method="POST" action="/posts">
@csrf
<input type="text" name="title" placeholder="Enter Title">
<input type="submit" name="submit">
</form>
路线:
Route::resource('/posts', 'PostController');
商店功能:
public function store(Request $request)
{
//
$post = new Post;
...
$post->save();
return redirect('/posts'); //Tried
return redirect()->route('posts.index');
}
@csrf 修复了 419 错误并使帖子正常工作。 Post 仅在没有 redirect() 时才有效。我认为@csrf 使redirect() 不起作用。 我一直在寻找,找不到解决方案。我该如何解决这个问题?
【问题讨论】:
-
Welcome to SO ...“不断重新加载页面”是什么意思? ..如果你重定向到你已经在它的同一个URI,它看起来就像它刚刚重新加载
-
@lagbox 一直在刷新,所以 $post-save();多次完成。
-
我不知道你在说什么“不断刷新”;您可以创建一个重定向循环,但浏览器刷新是某种浏览器问题
-
刷新还是加载?
-
@lagbox 我认为是csrf在做这个问题。很确定重定向行是正确的。但是,当我删除重定向行时,它工作正常,但我想重定向到另一个不允许我的页面。不是浏览器问题