angular 用拦截器统一处理http请求和响应的方法


Posted in Javascript onJune 08, 2017

想使用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 == 21000) {
          // 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);
}])

以上这篇angular 用拦截器统一处理http请求和响应的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript获取ckeditor编辑器的值(实现代码)
Nov 18 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
深入理解Javascript中的自执行匿名函数
Jun 03 Javascript
html5 canvas 详细使用教程
Jan 20 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
解决vue-cli创建项目的loader问题
Mar 13 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 Javascript
浅谈layui里的上传控件问题
Sep 26 Javascript
Vue请求java服务端并返回数据代码实例
Nov 28 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 #jQuery
Ionic项目中Native Camera的使用方法
Jun 07 #Javascript
详解angular ui-grid之过滤器设置
Jun 07 #Javascript
微信小程序 地图map实例详解
Jun 07 #Javascript
微信小程序 http请求的session管理
Jun 07 #Javascript
Ionic2开发环境搭建教程
Aug 20 #Javascript
微信小程序Redux绑定实例详解
Jun 07 #Javascript
You might like
PHP5 字符串处理函数大全
2010/03/23 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
Ext 表单布局实例代码
2009/04/30 Javascript
JavaScript 拾漏补遗
2009/12/27 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
理解javascript异步编程
2016/01/27 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
对标管理实施方案
2014/03/12 职场文书
信用卡收入证明范本
2015/06/12 职场文书
2016年十一促销广告语
2016/01/28 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫