Javascript 发出同一域的get请求时出现CORS错误
在浏览器扩展中,这是我的ajax调用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标头“访问控制允许
var xhr = new XMLHttpRequest();
xhr.open('GET', window.location.href, true);
xhr.responseType = "arraybuffer";
xhr.onload = function(event) {
alert(this.response);
};
我真的不明白为什么这给了我错误
已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:缺少CORS标头“访问控制允许原点”)
CORS只有在我们调用其他域时才会出现。但在这里,我正在打电话到同一个域。您可以在urlxhr.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(访问控制允许源站)头。