angularjs – Angular Js – 标题默认设置标记
发布时间:2020-12-17 07:38:47 所属栏目:安全 来源:网络整理
导读:我试图添加一个标题与我的访问令牌到每个API调用.它适用于所有的GET请求,但是一旦我尝试发出POST,则不会添加头. 以下是我如何添加令牌: app.factory('api',function ($http,$cookies) {return { init: function (token) { $http.defaults.headers.common['T
我试图添加一个标题与我的访问令牌到每个API调用.它适用于所有的GET请求,但是一旦我尝试发出POST,则不会添加头.
以下是我如何添加令牌: 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',$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中分配一个默认标题来发布和获取请求?
不要将令牌放在每个服务(或调用)中的标头上,最好使用$http拦截器(
docs here).
然后,您可以将令牌放在每个请求上.无论请求是GET还是POST,这都将起作用. JS样本: $httpProvider.interceptors.push(function($q,$cookies) { return { 'request': function(config) { config.headers['Token'] = $cookies.loginTokenCookie; return config; } }; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |