一尘不染

请求的资源错误中不存在“ Access-Control-Allow-Origin”标头

javascript

我用下面的代码来获取上述URL的内容

$.ajax({
  type: "GET",
  dataType: "jsonp",
  url: "http://ajax.googleapis.com/ajax/services/feed/load",
  data: {
    "v": "1.0",
    "num": "10",
    "q": "http://feeds.feedburner.com/mathrubhumi"
  },
  success: function(result) {
    //.....
  }
});

但它不起作用,出现以下错误

所请求的资源上不存在“
Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost ”。

我该如何解决?


阅读 1174

收藏
2020-04-25

共2个答案

一尘不染

我认为这可能是因为Chrome不支持localhost通过Access-Control-Allow-Origin-

要让Chrome发送Access-Control-Allow-Origin标头,只需将/ etc /hosts文件中的localhost别名为其他域,例如:

127.0.0.1   localhost yourdomain.com

然后,如果您使用yourdomain.com而不是访问脚本localhost,则调用应该成功。

2020-04-25
一尘不染

如果您使用的是Google Chrome浏览器,则可以使用扩展程序进行入侵。

您可以找到一个Chrome扩展程序,该扩展程序会在您的应用程序中即时修改CORS标头。显然,这仅是Chrome,但我喜欢它在任何位置都零变化的情况下工作。

您可以使用它在本地计算机上调试应用程序(如果一切都可以在生产环境中运行)。

注意:如果URL断开,扩展名是Access-Control-Allow-Origin:*。我建议您在不使用自己的东西时禁用此扩展程序,例如,因为youtube不适用于该扩展程序。

2020-04-29