获取相同域的请求给出CORS错误

时间:2016-07-26 03:50:02

标签: javascript jquery ajax web cors

在浏览器扩展程序中,这是我的ajax调用

var xhr = new XMLHttpRequest();
xhr.open('GET', window.location.href, true);
xhr.responseType = "arraybuffer";
xhr.onload = function(event) {
  alert(this.response);
};

我真的不明白为什么这会给我错误

  

阻止跨源请求:同源策略禁止在http://people.cs.aau.dk/~torp/Teaching/E01/Oop/handouts/collections.pdf读取远程资源。 (原因:CORS标题'Access-Control-Allow-Origin'缺失)

只有在我们调用其他域名时才会出现CORS。但是我在这里打电话给同一个域名。您可以在网址xhr.open('GET', window.location.href, true);

中看到这一点

我在这里缺少什么?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用CrossOrigin.me之类的网络服务来领先它。我使用了这样的代码,它确实对我有用:

$.ajax({
  url: 'https://crossorigin.me/http://people.cs.aau.dk/~torp/Teaching/E01/Oop/handouts/collections.pdf',
  jsonpCallback: 'callback',
  type: 'GET',
  success: function (data) {
    console.log(data);
  }
});

小提琴:http://jsfiddle.net/L84u10yj/

我能够在这里工作:

Preview