首页 > 解决方案 > 特定于 Firefox - CORS 预检通道的 CORS 标头“Access-Control-Allow-Headers”中缺少令牌“用户代理”

问题描述

我正在尝试对 googleMapsClient 地理编码进行 api 调用,并且仅在使用 firefox 时才收到 XHR 错误。它在 chrome 中运行良好,但在 Firefox 中,我收到以下错误

>     Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at
> https://maps.googleapis.com/maps/api/geocode/json?address=Kothaguda%2C%20Hyderabad%2C%20Telangana%2C%20India&key=xxxx.
> (Reason: missing token ‘user-agent’ in CORS header
> ‘Access-Control-Allow-Headers’ from CORS preflight channel)

不知道为什么这是特定于 Firefox 的。我可以看到请求中有一个“用户代理”http 标头。对此的任何帮助都将受到高度赞赏。

标签: javascriptgoogle-mapsfirefoxcors

解决方案


你在用@google/maps包吗?请注意,这个包应该只与 node.js 一起使用,而不是在浏览器中。这也在自述文件中说明:

注意力!该库专为服务器端 Node.js 应用程序而设计。尝试在客户端、浏览器或任何其他环境(如 React Native)中使用它,在某些情况下可能会起作用,但大多数情况下不会。在尝试使用这些环境时,请不要报告这些环境的问题,因为服务器端 Node.js 应用程序是该库唯一受支持的环境。对于其他环境,请尝试使用 Maps JavaScript API,它包含类似的功能集,并且明确旨在与客户端 JavaScript 一起使用。

我建议使用 Google Maps JavaScript API。


推荐阅读