Bry*_*yce 3 http-headers cors angularjs
我正在尝试使用$ http服务连接到API,该服务需要为POST请求定义某个标头:
app.run(['$http', function($http) {
$http.defaults.headers.post.hello = 'world';
}]);
Run Code Online (Sandbox Code Playgroud)
但是,我的Angular应用程序OPTIONS在之前发送请求POST,并且它似乎没有发送自定义标头.
退房的网络标签在此Plunker:http://plnkr.co/edit/tcqIb2q9zIQb3nf2SzyT
并且观察请求应该在哪里发送hello带有值的标头world,它实际上不是:

我看到hello的access-control-request-header,但不应该把它放在自己的路线?为什么不发送价值world呢?
当您添加标头时,因为您要跨越不同的域,请求首先通过OPTIONS方法将HTTP请求发送到另一个域上的资源,以确定实际请求是否可以安全发送.在此请求中,标头名称在access-control-request-headers中发送,以检查它是否是要发送的安全标头.
如果发送是安全的,那么将使用POST发送标头.
来源:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests