post 路由被拦截是 框架拦截crsf
路由
Route::prefix('api')->namespace('Api')->group(function () {
// Route::post('tests', 'Api\UserController@test');
// Route::post('test', 'UserController@test');
Route::group(array('prefix'=>'user'),function() {
Route::post('test', 'UserController@test');
Route::get('qr-code-login', 'UserController@qrCodeLogin');
Route::get('check-login', 'UserController@checkLogin');
Route::get('get-token', 'UserController@getToken');
Route::get('code-callback', 'UserController@codeCallback');
});
Route::group(array('prefix'=>'invite'),function() {
Route::get('index', 'InviteController@index');
Route::get('get-invite-list', 'InviteController@getInviteList');
Route::get('get-invite-url', 'InviteController@getInviteUrl');
});
});
明明get是正常的 但是post就被拦截了 前面还怀疑是路由写错了
其实是被框架拦截了
,解决方法
由于在 chrome 插件中使用了跨域请求,所以需要禁用掉 laravel 默认的 post csrf 检查。
1.在 Kernel.php中 数组$middlewareGroups
屏蔽\App\Http\Middleware\VerifyCsrfToken::class,
2.自己配置csrf:
在 app/Http/Middleware/VerifyCsrfToken.php 中,添加 except 规则。
例如:
class VerifyCsrfToken extends BaseVerifier
{
protected $except = [
'api/plant_tree/*',
];
}