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高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
面向对象的Javascript之一(初识Javascript)
Jan 20 Javascript
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
ReactNative列表ListView的用法
Aug 02 Javascript
详解angular路由高亮之RouterLinkActive
Apr 28 Javascript
jquery实现下载图片功能
Jul 18 jQuery
jQuery弹框插件使用方法详解
May 26 jQuery
解决nuxt页面中mounted、created、watch执行两遍的问题
Nov 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
nodejs实用示例 缩址还原
2010/12/28 NodeJs
jquery isType() 类型判断代码
2011/02/14 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
机关单位动员会主持词
2014/03/20 职场文书
七一表彰大会简报
2015/07/20 职场文书
七夕情人节问候语
2015/11/11 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python