Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发出同一域的get请求时出现CORS错误_Javascript_Jquery_Ajax_Web_Cors - Fatal编程技术网

Javascript 发出同一域的get请求时出现CORS错误

Javascript 发出同一域的get请求时出现CORS错误,javascript,jquery,ajax,web,cors,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); }; 我真的不明白为什么这给了我错误 已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:缺少CORS标头“访问控制允许

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

var xhr = new XMLHttpRequest();
xhr.open('GET', window.location.href, true);
xhr.responseType = "arraybuffer";
xhr.onload = function(event) {
  alert(this.response);
};
我真的不明白为什么这给了我错误

已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:缺少CORS标头“访问控制允许原点”)

CORS只有在我们调用其他域时才会出现。但在这里,我正在打电话到同一个域。您可以在url
xhr.open('GET',window.location.href,true)中看到这一点

我错过了什么


您可以使用诸如的web服务来超越它。我使用了这样的代码,它确实对我有用:

$.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);
  }
});
小提琴:

我能让它在这里工作:


产生此错误的代码在哪里运行?您的屏幕截图显示为内置的PDF查看器。了解此代码的执行上下文很重要。这取决于javascript代码的加载位置。@MikeTrpcic代码正在浏览器扩展中运行。是否有任何方法可以避免此错误?@SameerNaik代码正在浏览器扩展中运行。我是否可以避免此错误?您可以从服务器添加ACAO(访问控制允许源站)头。