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

时间:2023-03-08 16:29:39
Laravel用post提交表单常见的两个错误

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

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

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

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

 Route::get('test',function(){
//
});

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

 Route::post('test',function(){
//
});

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

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

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

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