文档章节

ionic之angular拦截器

java_speed
 java_speed
发布于 2015/07/04 13:21
字数 262
阅读 1751
收藏 6

ionic作为应用,肯定和服务器有数据交换,分散处理api太繁琐,所以一般用拦截器来集中处理。

主要由以下几个方面的应用:

  1. 服务器地址注入
  2. 错误处理
  3. token注入
  4. 日志处理
  5. 无token时跳转至登录页面
  6. ...

有四个方法

request: function(config)
requestError: function(config)
response: function(response)
responseError: function(response)

基本看方法名称就知道其意义。具体的用法、写法请参考:http://my.oschina.net/ilivebox/blog/290881?p=1

1、服务器注入、token注入:

request: function(config) {
   if (config.params)
       config.params['x-session-token'] = CacheService.token();
   // 远程服务,统一添加服务器地址
   var uri = config.url;
   if (config.method == "JSONP") {
      config.url = fGetHost() + uri;
      config.uri = uri;
   }
   return config;
}

2、token超时:

response: function(response) {
    if (response.config.method == "JSONP") {
        if (!fIsWhiteUri(response.config.uri)) {
            var login = response.data['x-session-login'];
            // 强制用户登录
            if (!login) {
               $location.path('/user/login');
               return $q.reject(response);
            }
        }
    }
    return response;
}
说明:1、每次都传入 x-session-token参数以便后端验证;

2、后台返回

x-session-login:false
表示token过期,需要重新登录。





© 著作权归作者所有

共有 人打赏支持
java_speed
粉丝 110
博文 44
码字总数 17031
作品 1
成都
程序员
Angular 2 系列: 简介

[Angular 2 Series: Introduction][1] By Max on April 2, 2015 現在, [Angular 2][2] 和 [Ionic 2][3] 呼之欲出。我們超讚的小隊正在為下一個大版本的 Ionic 和 Angular 2 在努力工作。我為...

开源中国匿名会员
2015/05/02
0
0
Ionic 4.0.0-alpha.4 发布,新增 willChange 事件

Ionic 4.0.0-alpha.4 发布,Ionic Framework 是一个高级的 HTML5 移动端应用框架,也是一个开发混合移动应用的前端框架。 bug 修复: angular: ompare路由器参数长度 angular: Config provid...

雨田桑
05/01
0
0
5大最流行手机webAPP框架之Ionic

Ionic 框架 Ionic框架是我们前五个web app框架中最年轻的,阿尔法版本是在2013年11月下旬发布的。Ionic是建立在google的AngularJS框架上的,它利用AngularJS来提供应用结构,而它本身更关注的是...

大培哥
2015/10/31
0
0
大漠穷秋/NiceFish-ionic

NiceFish-ionic NiceFish是一个系列教学项目,都是Angular这个技术栈。 NiceFish:美人鱼,这是一个微型Blog系统,前端基于Angular 4.x + PrimeNG。http://git.oschina.net/mumu-osc/NiceFis...

大漠穷秋
04/24
0
0
AngularJS的 拦截器 和 Mocks

拦截器是 AngularJS 内置的一个特性,你可以插入一个请求或者回调方法链,修改或者打断各终结点之间的逻辑流。但在 AngularJS 应用的单元测试中,拦截器是用来捕捉 XHR 请求, 以避免外部请求...

开源中国匿名会员
2014/06/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java动态代理之InvocationHandler最简单的入门教程

网上关于Java的动态代理,Proxy和InvocationHandler这些概念有讲解得非常高深的文章。其实这些概念没有那么复杂。现在咱们通过一个最简单的例子认识什么是InvocationHandler。值得一提的是,...

JerryWang_SAP
8分钟前
0
0
oracle 在 MyBatis 中使用 like

两种使用方法 使用oracle自带 || 拼凑的方式 <if test="userName!=null and userName!=''"> AND u.USER_NAME like '%' || #{userName} || '%' </if> 使用MyBatis的$符号的方式 <if test="us......

karma123
14分钟前
0
0
带接口的webservice方式发布

package cn.it.ws.e;import javax.jws.WebService;/** * 面向接口的webservice发布方式 * @author Administrator * */@WebServicepublic interface JobService {publi...

江戸川
30分钟前
0
0
day122-20181020-英语流利阅读-待学习

蜘蛛侠新片《毒液》来袭!导演灵感来自哪? Roxy 2018-10-20 1.今日导读 你还记得漫威宇宙中飞檐走壁的蜘蛛侠小可爱吗?在刚过去的国庆黄金周里,索尼影业发行的漫威超级英雄蜘蛛侠系列大片《...

飞鱼说编程
40分钟前
3
0
美团点评Docker容器管理平台

美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”)。该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台。目前该平台为...

Skqing
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部