Laravel用post提交表单常见的两个错误

Posted 胖成大海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel用post提交表单常见的两个错误相关的知识,希望对你有一定的参考价值。

  最近在自学Laravel,测试用post方法提交表单时碰到两个错误:

1、获取传入的值时,报错如下图所示:

 

在stackFlow找答案时各种解释都有,但认真读一下报错信息,意思大概是:获取Http传入值方式不允许,检查代码,将偷懒写的:

1 Route::get(\'test\',function(){
2     //
3 });

  改为用post方法或者any方法接收即可:

1 Route::post(\'test\',function(){
2     //
3 });

 

2、提交表单时,第二个报错信息如下图所示:

 

  这个报错出现在于Laravel框架为了防止跨域请求攻击(CSRF)而为用户生成的随机令牌,post请求如果没有验证token,就出现上图的报错信息。解决方法:在form表单中添加一个隐藏域,携带token参数即可:

1 <form action="user" method="post">
2     <input type="hidden" name="_token" value="{{csrf_token()}}">
3     用户名:<input type="text" name="username">
4     密码:<input type="password" name="pwd">
5     <input type="submit" value="提交">
6 </form>

 

以上是关于Laravel用post提交表单常见的两个错误的主要内容,如果未能解决你的问题,请参考以下文章

表单提交后 POST 方法返回 404 - Laravel

我的表单在 Laravel 中未正确提交

PHP 表单用post传值不了 跳转出现空白页。。

laravel mysql数据库同一页面多表单提交表不更新

发布请求不起作用 Laravel 5

laravel Route post 提交TokenMismatchException in VerifyCsrfToken.php line 53: