我需要访问此处的地图 API 才能查询地理编码服务,该服务给定文本字符串会返回坐标。我在 HERE 门户上运行了该过程,创建了我的应用程序,并获取了进行 API 调用的代码,使用邮递员测试查询是否成功,并且得到了所需的响应。当我将逻辑移至 Visual Studio,并对有问题的端点运行 ketch 调用时,我收到了错误 cors 策略。
下面是我对服务器的获取请求:
在官方文档中提到,这里的API在*处有Access-control-allow-origin,所以我希望不必处理任何其他代码方面的事情...如果我错了,我从经验不足的角度来说,这是第一个当我遇到这个错误时...
有谁知道如何修复这个错误?预先感谢..
我以前遇到过这个问题,但不是在你的具体情况下。
CORS(跨源资源共享)是浏览器中实现的一项安全功能,我相信最初是为了防止 CSRF(跨站请求伪造)攻击而设计的。
该过程的工作原理如下:
这就是为什么你不会在Postman中遇到CORS政策。
在后端,在响应中包含以下标头:
header: {
"Access-Control-Allow-Origin": "YOUR_DOMAIN_NAME",
// for local testing : http://localhost:PORT_NUM
}
通常最好指定
YOUR_DOMAIN_NAME
而不是使用 *
,因为 *
并不总是有效。
有关 CORS 的更多信息,请查看以下链接:
我看到有人说在JavaScript中添加method:“no-cors”可以避免CORS策略(在post方法中),或者使用代理服务器,或者直接成为服务器-客户端架构。
我知道我没有想出一个很好的解决方案,但我希望这会对您有所帮助。