99%的ajax调用需要特定的“X-API-TOKEN”来验证我的Rails REST API并与之通信。但我也打电话给一个第三方API,我不断收到错误消息“Access-Control-Allow-Headers不允许请求头字段X-API-TOKEN。”
如果我在调用之前删除标题,一切正常,并且解决方法是删除然后在调用之后重新添加,但是有一种比这更简单的方法:
apiToken = $http.defaults.headers.common["X-API-TOKEN"]
delete $http.defaults.headers.common["X-API-TOKEN"]
$http(
method: "GET"
url: 'http://...}}'
).success((data, status, headers, config) ->
).error (data, status, headers, config) ->
$http.defaults.headers.common["X-API-TOKEN"] = apiToken
答案 0 :(得分:17)
将欲望标题/标题设置为未定义,这样就不会影响全局设置。
$http( {
method: 'GET',
url: 'someurl',
headers: {
'X-API-TOKEN': undefined
}
}
)
答案 1 :(得分:3)
$http
服务配置对象允许您覆盖特定请求的http标头发送。请参阅config property headers
。
这可以采用标题列表或返回标题列表的函数。因此,对于非auth标头请求,请复制默认标头,删除您不需要的标头,然后发出请求。您可以将其存储以供日后使用。
请参阅$http
documentation