从源xxxx访问XMLHttpRequest'被CORS策略阻止:对预检的响应。预检请求不允许重定向

时间:2019-02-07 22:28:37

标签: azure google-chrome browser cors azure-maps

我正在使用Azure映射,并且FF或Edge都没有问题。但是,Chrome在尝试显示地图时给我以下错误:

  

从原点mysite.org访问atlas.microsoft.com/map/tile/pbf?&view=Unified&language=NGT&api-version=1.0&layer=basic&style=main&zoom=16&x=12586&y=26496&subscription-key=xxxx'的XMLHttpRequest访问具有已被CORS政策阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。

我已将mysite.org添加到Azure中允许的来源。确实会显示一些地图内容,例如位置标记和地图样式选择器等。仅实际的地图被阻止。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

此处的CORS错误很可能是红色鲱鱼。 发生的是您的请求由于某种原因收到了来自服务器的重定向,因此被CORS阻止 该特定URL可能不打算由Ajax使用,而是由浏览器直接呈现。例如,这可能是身份验证问题,服务器将您重定向到登录页面,或者地图服务器可能只想重新格式化您的URL。

无论如何,请在浏览器中打开开发人员工具,告诉其不要清除导航请求,然后尝试将该URL放入其中。您会在“网络”标签中看到某种重定向,然后您需要弄清楚如何避免这种重定向-或者,如果该URL类型不适用于Ajax,请重新考虑您的设计。

我写了一些关于CORS在这里如何工作的信息; https://www.lytzen.name/2016/02/20/playing-with-cors.html,这可能会或可能不会有帮助。