API 请求返回 cors-policy 错误(此处为地图)

问题描述 投票:0回答:1

我需要访问此处的地图 API 才能查询地理编码服务,该服务给定文本字符串会返回坐标。我在 HERE 门户上运行了该过程,创建了我的应用程序,并获取了进行 API 调用的代码,使用邮递员测试查询是否成功,并且得到了所需的响应。当我将逻辑移至 Visual Studio,并对有问题的端点运行 ketch 调用时,我收到了错误 cors 策略。

开发隧道和本地主机均出现错误: enter image description here ERROR

下面是我对服务器的获取请求: fetch from server

在官方文档中提到,这里的API在*处有Access-control-allow-origin,所以我希望不必处理任何其他代码方面的事情...如果我错了,我从经验不足的角度来说,这是第一个当我遇到这个错误时...

documentazione here maps

有谁知道如何修复这个错误?预先感谢..

javascript cors fetch-api
1个回答
0
投票

我以前遇到过这个问题,但不是在你的具体情况下。

CORS(跨源资源共享)是浏览器中实现的一项安全功能,我相信最初是为了防止 CSRF(跨站请求伪造)攻击而设计的。

该过程的工作原理如下:

  1. 浏览器发送请求。
  2. 后端处理请求并返回响应。
  3. 浏览器检查请求的来源是否与当前域匹配。
  4. 如果不匹配,浏览器将阻止响应。

这就是为什么你不会在Postman中遇到CORS政策。

在后端,在响应中包含以下标头:

header: {
    "Access-Control-Allow-Origin": "YOUR_DOMAIN_NAME", 
                      // for local testing : http://localhost:PORT_NUM
}

通常最好指定

YOUR_DOMAIN_NAME
而不是使用
*
,因为
*
并不总是有效。

有关 CORS 的更多信息,请查看以下链接:

  1. AWS - 什么是 CORS?
  2. 了解 CORS 的 Stack Overflow

我看到有人说在JavaScript中添加method:“no-cors”可以避免CORS策略(在post方法中),或者使用代理服务器,或者直接成为服务器-客户端架构。

我知道我没有想出一个很好的解决方案,但我希望这会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.