javascript - 特定于 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 标头。对此的任何帮助都将受到高度赞赏。
解决方案
你在用@google/maps
包吗?请注意,这个包应该只与 node.js 一起使用,而不是在浏览器中。这也在自述文件中说明:
注意力!该库专为服务器端 Node.js 应用程序而设计。尝试在客户端、浏览器或任何其他环境(如 React Native)中使用它,在某些情况下可能会起作用,但大多数情况下不会。在尝试使用这些环境时,请不要报告这些环境的问题,因为服务器端 Node.js 应用程序是该库唯一受支持的环境。对于其他环境,请尝试使用 Maps JavaScript API,它包含类似的功能集,并且明确旨在与客户端 JavaScript 一起使用。
我建议使用 Google Maps JavaScript API。
推荐阅读
- php - Laravel + Docker 问题(更改不适用)
- c - 如果有的话,什么是技术上的理由来引导一个函数指针参数,然后是那个函数的参数,或者相反?
- python - 如何使用分治法解决 FindMaximumSubarray 的复发错误?
- javascript - 无法识别 instanceof 功能
- rtf - BI Publisher - 水平显示数据 MONTH
- vue.js - 在 vue 中推送组件
- python - TypeError:类似字节的对象,而不是字符串
- python - 如何使用方法补丁创建函数
- angular - 我们如何将调度结果存储到 Actions 中的变量中?
- php - 无法从表单获取复选框以在 php 中显示