我正在提出 CORS xhr 请求。这在 chrome 中运行良好,但是当我在 safari 中运行时,我得到一个“无法加载 ---- Access-control-allow-origin 不允许访问”。代码完全一样,我已经在服务器上设置了 CORS。下面是我的代码。(有访问控制,但你可以在没有 accessToken 的情况下自由尝试)
var water;
var req = new XMLHttpRequest;
req.overrideMimeType("application/json");
req.open('GET', 'https://storage.googleapis.com/fflog/135172watersupplies_json', true);
req.setRequestHeader('Authorization', 'Bearer ' + accessToken);
origThis = this;
var target = this;
req.onload = function() {
water = req;
req.send(null);
查看请求标头后,我看到首先发出了一个 OPTIONS 请求,这是不允许的请求。原始标头不包含在 Safari 的响应中,但在 chrome 中。这是什么原因造成的。任何帮助将不胜感激。
更新:我已经在 Safari for Windows 中尝试过并且它可以工作,所以我不确定这里发生了什么。我使用的 mac 是远程访问 (Macincloud.com),但我认为这与它没有任何关系。