【问题标题】:XMLHttpRequest blocked by CORS PolicyXMLHttpRequest 被 CORS 策略阻止
【发布时间】:2018-02-26 20:56:52
【问题描述】:

我在http://www.test.com 中添加了一个带有以下脚本的 API:

<script src="http://apiendpoint.com/api/v1/api.js"></script>

<div id="api" data-apikey="LA59CJI9HZ-KIJK4I5-3CKJC"></div>

api.js

$(function () {

  apikey = $('#api').data('apikey');
  $("#api").load("http://apiendpoint.com?apikey=" + apikey);

})

当我加载页面时,出现以下错误:

XMLHttpRequest 无法加载 apiendpoint 网址。 重定向自 'apiendpoint URL' 到 'apiendpoint URL' 有 被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头 存在于请求的资源上。起源 'test URL' 因此不允许访问。

在 apiendpoint.com 的路径中,我在 .htaccess 中添加了以下代码:

Header set Access-Control-Allow-Origin "*"

但它不起作用。

【问题讨论】:

  • 使用浏览器工具的网络选项卡检查是否存在标头
  • 同时清除浏览器缓存。
  • 从 chrome 商店下载 CORS 插件,打开后尝试发出请求。
  • @Ferrybig 响应标头不包含“Access-Control-Allow-Origin:*”。但是当我直接加载 URL 时,它包含 Access-Control-Allow-Origin:*
  • 我相信sideshowbarker 's answer here 将拥有解决此问题所需的所有信息

标签: javascript cors


【解决方案1】:

我相信sideshowbarker 's answer here 拥有解决此问题所需的所有信息。如果您的问题只是您收到的响应中没有“Access-Control-Allow-Origin”标头,您可以设置一个 CORS 代理来解决这个问题。在链接的答案中了解更多信息

【讨论】:

    【解决方案2】:

    我知道这可能会迟到,但希望这对其他人有所帮助。这个问题来自后端,调用CORS。我使用java作为后端,所以我将@CrossOrigin添加到Controller类。有效!

    【讨论】:

      猜你喜欢
      • 2021-09-05
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 2019-12-18
      • 2019-10-31
      • 2019-04-28
      • 1970-01-01
      相关资源
      最近更新 更多