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 相关文章推荐
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
Jquery中获取iframe的代码
Jan 11 Javascript
解析Jquery取得iframe中元素的几种方法
Jul 04 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
Sep 03 Javascript
JavaScript使用循环和分割来替换和删除元素实例
Oct 13 Javascript
浅谈JavaScript中的对象及Promise对象的实现
Nov 15 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
JavaScript实现随机点名器实例详解
May 07 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 Javascript
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 Vue.js
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
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
英文版销售经理个人求职信
2013/11/20 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
《钱学森》听课反思
2014/03/01 职场文书
施工单位安全责任书
2014/07/24 职场文书
初中家长评语和期望
2014/12/26 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
读书笔记格式
2015/07/02 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
MySQL基于索引的压力测试的实现
2021/11/07 MySQL