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