最近在学习restful开发,在本地环境下前端使用element ui(基于VUE),后台使用Laravel。
在前端向后端post数据时,Laravel报错:TokenMismatchException in VerifyCsrfToken.php。
错误原因是Laravel默认开启了CSRF功能,而我是前后端分离项目,本来就是跨域的,也就触发了CSRF的异常,解决办法如下:
1.安装laravel-cors
composer require barryvdh/laravel-cors
2.全局配置中间件,在app/Http/Kernel.php文件中的中间件配置中加入如下代码:
protected $middleware = [
// 新增一条
\Barryvdh\Cors\HandleCors::class,
];
3.如果只想api,采用下面方式:
protected $middlewareGroups = [
'web' => [
// ...
],
'api' => [
// ...
\Barryvdh\Cors\HandleCors::class,
],
];