关于php:Laravel 5.4发布请求令牌不匹配

Laravel 5.4 post request token mismatch

我正在学习在Laravel中创建API。我创建了一个CRUD控制器,并且有一个空的存储功能:

1
2
3
4
public function store(Request $request)
{
    dd('store');
}

当我尝试向Postman发出发帖请求时,出现令牌不匹配异常:

1
2
"Illuminate\\Session\\TokenMismatchException">TokenMismatchException in
  "/Users/andrei/Desktop/api.dev/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php line 68">VerifyCsrfToken.php line 68

我没有post方法放置{{csrf ..}}的形式。如何解决呢?谢谢!


对于API,您应该使用VerifyCsrfToken中间件中的$except属性将它们从CSRF中排除。


如果您使用表单提交,则必须使用{{ csrf_field() }},它将被呈现为<input type='hidden' name='_token' value="tokenvalueofcharsans numbers" />。但是,如果您仅发送ajax请求,但无法在请求中设置{{ csrf_field() }},则必须执行以下操作:
1-通过在app/Http/Middleware/VerifyCsrfToken中间件的$except变量中添加您的url,从csrf验证中排除您的url。
2-找到一种方法来验证csrf在此Rails中不受影响。