Javascript 特定于Firefox——缺少令牌‘;用户代理&x2019;在CORS标题中‘;访问控制允许标头’;从CORS飞行前频道

Javascript 特定于Firefox——缺少令牌‘;用户代理&x2019;在CORS标题中‘;访问控制允许标头’;从CORS飞行前频道,javascript,google-maps,firefox,cors,Javascript,Google Maps,Firefox,Cors,我试图对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?addr

我试图对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)中尝试在客户端使用it,在某些情况下可能会起作用,但大多数情况下不会。在尝试使用这些环境时,请避免报告这些环境的问题,因为服务器端Node.js应用程序是此库唯一受支持的环境。对于其他环境,请尝试MapsJavaScriptAPI,它包含一个类似的feauture集,并明确用于客户端JavaScript


我建议使用谷歌地图JavaScript API。

您使用的是
@Google/Maps
软件包吗?请注意,此软件包应仅与node.js一起使用,而不是在浏览器中使用。这也在以下文件中说明:

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


我建议使用谷歌地图JavaScript API。

刚刚处理完这个完全相同的问题。我使用的是
@google/maps
库,地理编码在Chrome(v71)中运行良好,但在Firefox(v64)中预飞失败,错误与最初的问题相同

正如Rob所建议的,我最终转而使用来进行地理编码

查看每个请求的详细信息。。。似乎
@google/maps
npm包使用的URL与google-maps JavaScript API不同。事实上,事实上。。。javascriptapi使用的URL返回一个JSONP结构,避免一起处理整个CORS


为什么在Chrome浏览器中使用
@google/maps
对地址进行地理编码而不是在Firefox中使用,这对我来说仍然是个谜。我认为Firefox对CORS的要求比Chrome更严格。

刚刚解决了同样的问题。我使用的是
@google/maps
库,地理编码在Chrome(v71)中运行良好,但在Firefox(v64)中预飞失败,错误与最初的问题相同

正如Rob所建议的,我最终转而使用来进行地理编码

查看每个请求的详细信息。。。似乎
@google/maps
npm包使用的URL与google-maps JavaScript API不同。事实上,事实上。。。javascriptapi使用的URL返回一个JSONP结构,避免一起处理整个CORS


为什么在Chrome浏览器中使用
@google/maps
对地址进行地理编码而不是在Firefox中使用,这对我来说仍然是个谜。与Chrome相比,我认为Firefox有更严格的CORS要求。

禁用您安装的任何Firefox扩展。或者删除前端代码中向请求添加自定义用户代理请求头的部分。我没有在Firefox上安装任何扩展。另外,我没有从前端代码中添加自定义用户代理请求头。浏览器本身正在添加用户代理标头。请禁用已安装的任何Firefox扩展。或者删除前端代码中向请求添加自定义用户代理请求头的部分。我没有在Firefox上安装任何扩展。另外,我没有从前端代码中添加自定义用户代理请求头。浏览器本身正在添加用户代理标头。