加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在AngularJS上设置默认标头,但不要在一个特定请求上使用它

发布时间:2020-12-17 08:01:16 所属栏目:安全 来源:网络整理
导读:为了发送OAuth2令牌,我在AngularJS上设置默认标头,如下所示: $http.defaults.headers.common['Authorization'] = 'Bearer ' + access_token; 这工作得很好但我不需要这个标题(我得到一个错误)一个特定的请求。 有没有办法在执行该请求时排除默认标头? 谢
为了发送OAuth2令牌,我在AngularJS上设置默认标头,如下所示:
$http.defaults.headers.common['Authorization'] = 'Bearer ' + access_token;

这工作得很好但我不需要这个标题(我得到一个错误)一个特定的请求。

有没有办法在执行该请求时排除默认标头?

谢谢!

解决了

感谢Riron让我走上了正确的道路。这是答案:

$http({
    method: 'GET',url: 'http://.../',transformRequest: function(data,headersGetter) {
        var headers = headersGetter();

        delete headers['Authorization'];

        return headers;
    }
});
使用$ http拨打电话时,您可以直接在请求配置中提供默认值标头:
$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.

这样,您可以在发送之前删除单个请求的标头:

$http({method: 'GET',headersGetter){ //Headers change here } 
}).success();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读