相关疑难解决方法(0)

Chrome将Origin标头添加到同源请求中

我们正在向本地运行的服务器发布一个AJAX请求,即

xhr.open("POST", "http://localhost:9000/context/request");
xhr.addHeader(someCustomHeaders);
xhr.send(someData);
Run Code Online (Sandbox Code Playgroud)

正在执行此javascript的页面也是从localhost:9000提供的,即这看起来像是一个同源请求.

但是,出于某种原因,Google Chrome总是在生成的请求中设置一个Origin标头,导致我们的服务器根据它的CORS请求的错误假设来阻止请求.

这在Firefox中不会发生.

此外,Firefox和Chrome都没有发送OPTIONS预检请求,这令人困惑; 为什么在没有首次预检的情况下设置Origin标头以确保服务器允许Origin和Custom标头?

有谁知道在这种情况下发生了什么?我们是否误解了CORS规范?

javascript ajax html5 google-chrome cors

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

ajax ×1

cors ×1

google-chrome ×1

html5 ×1

javascript ×1