最近在自学Laravel,测试用post方法提交表单时碰到两个错误:
1、获取传入的值时,报错如下图所示:
在stackFlow找答案时各种解释都有,但认真读一下报错信息,意思大概是:获取Http传入值方式不允许,检查代码,将偷懒写的:
Route::get('test',function(){
//
});
改为用post方法或者any方法接收即可:
Route::post('test',function(){
//
});
2、提交表单时,第二个报错信息如下图所示:
这个报错出现在于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>