gpt4 book ai didi

angularjs - Angular Js - 在 header 默认设置 token

转载 作者:行者123 更新时间:2023-12-04 00:19:21 25 4
gpt4 key购买 nike

我试图向每个 API 调用添加一个带有我的访问 token 的 header 。它适用于所有 GET 请求,但是一旦我尝试进行 POST,就不会添加 header 。

这是我添加 token 的方法:

app.factory('api', function ($http, $cookies) {
return {
init: function (token) {
$http.defaults.headers.common['Token'] = token || $cookies.loginTokenCookie;
}
};
});

从这里被调用:
app.run(function ($cookies, $http, $location, $rootScope,api) {
$rootScope.location = $location;
api.init();
});

我试过这样做:
app.factory('api', function ($http, $cookies) {
return {
init: function (token) {
$http.defaults.headers.common['Token'] = token || $cookies.loginTokenCookie;
$http.defaults.headers.post['Token'] = token || $cookies.loginTokenCookie;

}
};
});

但这也不起作用。它仅在我更改标题键名称时有效,如下所示:
 $http.defaults.headers.post['Token-Post'] = token || $cookies.loginTokenCookie;

如何在 AngularJs 中为帖子分配默认 header 并获取请求?

最佳答案

与其将 token 放在每个服务(或调用)内的 header 上,不如使用 $http拦截器( docs here )。

然后,您可以在每个请求上放置 token 。无论请求是 GET 还是 POST,这都将起作用。

JS 样本:

$httpProvider.interceptors.push(function($q, $cookies) {
return {
'request': function(config) {

config.headers['Token'] = $cookies.loginTokenCookie;
return config;
}
};
});

关于angularjs - Angular Js - 在 header 默认设置 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23244809/

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