0
我需要从Chrome扩展程序访问网络应用程序的API后端。源自网页本身的xhr请求总是预冲(OPTIONS)。但是,我无法获得扩展来激发预检请求,它会触发GET请求,并且服务器授权机制会首先拒绝没有OPTIONS的调用。Chrome扩展jquery Ajax预检选项
我读了什么在stackoverflow上可用,并试图添加一个随机的“x怪异头”试图发送预检,但它没有奏效。
我不明白的另一件事是,Chrome为网页上的呼叫发送了一个“Origin”标头,但是来自我的扩展程序的请求缺少“Origin”标头。
我该如何获得OPTIONS先发送?为什么我的要求中缺少“起源”?
谢谢!
\t $.ajax({
\t url : url, /* url is https and it is called from a non ssl but same domain origin*/
\t type : 'GET',
\t beforeSend : function(xhr) {
\t xhr.setRequestHeader("Accept", "application/json, text/plain, */*");
\t xhr.setRequestHeader("Authorization", "BEARER " + auth_token);
\t xhr.setRequestHeader("x-weird-header", "utf8");
\t },
\t success : function (data) {
\t console.log(data);
\t },
\t error : function (data, errorThrown) {
\t console.log(data);
\t }
\t });