gpt4 book ai didi

java - axios请求: Blocked by CORS Policy

转载 作者:行者123 更新时间:2023-11-30 01:50:47 29 4
gpt4 key购买 nike

在 laravel 5.8 中,/"vue": "^2.5.17"/"axios": "^0.18",我需要读取从 postman ok 读取的外部数据: https://imgur.com/a/SRBmK0P

我尝试使用 axios 读取这些数据并收到错误: https://imgur.com/a/o97xLm7

在浏览中,我看到请求的详细信息: https://imgur.com/a/EUkyV43

我的JS代码:

            axios.post(window.REMOTE_SEARCH_WEB, {
"query": "pc gamers",
"blogger": false,
"company": false,
"influencer": false,
"article": false,
"pageId": 1,
"sort": null,
"sortOrder": null,
"searchType": 1,
"Access-Control-Allow-Origin": this.app_url,
"Access-Control-Allow-Methods": "POST",
"Access-Control-Max-Age": 86400,
"Access-Control-Allow-Headers": "Content-Type, Authorization",
'Access-Control-Allow-Credentials': 'true'
}).then((response) => {

其中 this.app_url 是应用程序运行所在网站的主页 url

谷歌搜索我发现必须填写几个参数Access-Control-*,就像上面的代码一样,但这对我没有帮助。

你能告诉我如何解决它吗?

是否可以从我的 js 代码和 axios 中做出决定,在我的控制中运行操作,然后使用 PHP/Laravel 发出请求?如果是,请提供此类决定的示例...

修改 block :我安装了https://github.com/barryvdh/laravel-cors包和

1) 在文件中我在 app/Http/Kernel.php 添加了行

protected $middleware = [
// ...
\Barryvdh\Cors\HandleCors::class,
];

我在中间件组 I 中添加的不是“/api”内部的,而是外部请求。正确吗?

2)我保留文件 config/cors.php 没有更改:

return [

'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['*'],
'exposedHeaders' => [],
'maxAge' => 0,

];

3)在 axios.post 请求中,我删除了所有访问控制参数

axios.post(window.REMOTE_SEARCH_WEB, {
"query": "pc gamers",
"blogger": false,
"company": false,
"influencer": false,
"article": false,
"pageId": 1,
"sort": null,
"sortOrder": null,
"searchType": 1,
}).then((response) => {

4) 但请求中出现同样的错误:https://imgur.com/a/wbgmrps

出了什么问题?

谢谢!

最佳答案

您可以通过在后端创建拦截器中间件来解决此问题,该中间件会将 Access-control-allow header 附加到请求。

创建中间件cors

public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*') //REPLACE STAR WITH YOUR URL
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'content-type, authorization, x-requested-with');
}

然后在app/http/kernel.php中的全局中间件列表中列出中间件

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

关于java - axios请求: Blocked by CORS Policy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56133333/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com