gpt4 book ai didi

angularjs - 在 AngularJS 上设置默认 header ,但不要在某一特定请求上使用它

转载 作者:行者123 更新时间:2023-12-02 19:31:27 24 4
gpt4 key购买 nike

为了发送 OAuth2 token ,我在 AngularJS 上设置默认 header ,如下所示:

$http.defaults.headers.common['Authorization'] = 'Bearer ' + access_token;

这很好用,但我不需要这个 header (我收到一个错误)来处理一个特定的请求。

执行该请求时是否有办法排除默认 header ?

谢谢!

已解决

感谢Riron让我走上正确的道路。答案如下:

$http({
method: 'GET',
url: 'http://.../',

transformRequest: function(data, headersGetter) {
var headers = headersGetter();

delete headers['Authorization'];

return headers;
}
});

最佳答案

当您使用 $http 进行调用时,您可以通过直接在请求配置中提供默认 header 来覆盖默认 header :

$http({method: 'GET', url: '/someUrl', headers: {'Authorization' : 'NewValue'} }).success();

否则,您可以使用 transformRequest 转换您的请求参数,仍在您的 $http 配置中。请参阅文档:

transformRequest – {function(data,headersGetter)|Array.<function(data, headersGetter)>} – transform function or an array of such functions. The transform function takes the http request body and headers and returns its transformed (typically serialized) version.

这样您就可以在发送单个请求之前删除它的 header :

$http({method: 'GET', 
url: '/someUrl',
transformRequest: function(data,headersGetter){ //Headers change here }
}).success();

关于angularjs - 在 AngularJS 上设置默认 header ,但不要在某一特定请求上使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com