想使用angularjs里的htpp向后台发送请求,现在有个用户唯一识别的token想要放到headers里面去,也就是{headres:{'token':1}}

index.html里引入以下js:

angular.module('app.factorys',[])
.factory('httpInterceptor',['$q','$injector','$localStorage',function ($q,$injector,$localStorage) {
var httpInterceptor = {
'responseError' : function(response) {
// ......
return $q.reject(response);
},
'response' : function(response) {
if (response.status == ) {
// console.log('do something...');
}
return response || $q.when(response);
},
'request' : function(config) {
config.headers = config.headers || {};
if ($localStorage.token) {
config.headers.token = $localStorage.token;
// config.headers['X-Access-Token'] = $localStorage.token;
}; return config || $q.when(config); return config;
},
'requestError' : function(config){
// ......
return $q.reject(config);
}
};
return httpInterceptor;
}])

在app里注入factory后,在config里面配置

.config(['$httpProvider',function(){
$httpProvider.interceptors.push(httpInterceptor);
}])

如果你的代码并未做拆分,可以直接在config里面写拦截器

 $httpProvider.interceptors.push(['$q','$injector','$localStorage',function ($q,$injector,$localStorage) {
var httpInterceptor = {
'responseError' : function(response) {
// todo...
return $q.reject(response);
},
'response' : function(response) {
if (response.status == ) {
// console.log('do something...');
}
return response || $q.when(response);
},
'request' : function(config) {
config.headers = config.headers || {};
if ($localStorage.token) {
config.headers.ut = $localStorage.token; //把你登录接口返回给你的token存到$localStorage里面,在这里取就好了
// config.headers['X-Access-Token'] = $localStorage.token;
}; return config || $q.when(config);
// return config;
},
'requestError' : function(config){
// todo...
return $q.reject(config);
}
};
return httpInterceptor;
}]);

最新文章

  1. EC笔记:第4部分:22、所有成员都应该是private的
  2. WPF入门教程系列二十——ListView示例(二)
  3. WebForm(一)——IIS服务器、开发方式和简单基础
  4. 【poj1742】 Coins
  5. linux第11天 共享内存和信号量
  6. C++ code: 将程序的输出,保存到txt文档中,且每35个数,自动换行
  7. leetcode解题—Longest Palindromic Substring
  8. Android开发之Intent的传值--Application
  9. 大数据时代之hadoop(三):hadoop数据流(生命周期)
  10. oracle导库
  11. empty()和size()的优劣
  12. poj1681 Network
  13. .NET程序员所需要注意的网站资源
  14. matlab练习程序(渲染三原色)
  15. [UE4]CheckBox
  16. Spring装配bean(在java中进行显式配置)
  17. QuickStart系列:docker部署之Mysql
  18. maven和gradle中,dependency和plugin的区别
  19. Scrum立会报告+燃尽图(Beta阶段第三次)
  20. SAP Odata実行命令(2)

热门文章

  1. 宝塔面板下安装zabbix
  2. python 输入一个字符串,打印出它所有的组合
  3. RocketMQ入门手册
  4. deepin卸载mysql并安装设置mysql5.7
  5. HBase数据持久化之HRegion.flushcache即CF持久化
  6. GitHub Gist 指南
  7. 模板发送java邮件
  8. 【原创】sizeof运算符总结
  9. tomcat没有编译重新编写的代码
  10. 【ASP.NET MVC系列】浅谈ASP.NET MVC运行过程