首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >印前检查响应中的Access-Control-Allow- header不允许请求标头字段X-CSRF-TOKEN

印前检查响应中的Access-Control-Allow- header不允许请求标头字段X-CSRF-TOKEN
EN

Stack Overflow用户
提问于 2018-08-13 18:13:49
回答 1查看 13K关注 0票数 5

我有一个项目,当我运行php artisan serve时,在浏览器中显示一个错误:

Failed to load http://127.0.0.1:8000/api/news/get-news-list: Request header field X-CSRF-TOKEN is not allowed by Access-Control-Allow-Headers in preflight response.

我的代码如下:

axios.get(domainName+'/api/news/get-news-list').then(response=>{
    news = response.data.list;
}).catch(function (error) {
    console.log(error);
});

我已经添加了如下中间件:

Kernel.php

protected $middleware = [
    \App\Http\Middleware\Cors::class
];

protected $routeMiddleware = [
    'cors' => \App\Http\Middleware\Cors::class
];

Cors.php

public function handle($request, Closure $next)
{
    return $next($request)
        ->header('Access-Control-Allow-Origin','*')
        ->header('Access-Control-Allow-Methods','GET,POST,PUT,PATCH,DELETE,OPTIONS')
        ->header('Access-Control-Allow-Headers','Content-Type,Authorization');

}

api.php

Route::prefix('news')->group(function () {
    Route::get('get-news-list', 'API\NewsController@getList')->middleware('cors');
});

有人能告诉我如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-13 18:16:49

只需将x-csrf-token标头添加到允许的列表。在本例中,它在头文件Access-Control-Allow-HeadersCors.php文件中。

Access-Control-Allow-Headers控制CORS请求中允许哪些头部。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51819968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档