文档章节

ionic之angular拦截器

java_speed
 java_speed
发布于 2015/07/04 13:21
字数 262
阅读 1668
收藏 6
点赞 0
评论 0

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
5大最流行手机webAPP框架之Ionic

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

大培哥
2015/10/31
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
大漠穷秋/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
Angular 6.0.4 和 6.1.0-beta.0 发布,Web 前端框架

Angular 6.0.4 和 6.1.0-beta.0 已发布,两者的主要更新都是修复 bug,不过 6.1.0-beta.0 还添加了一些新特性。 修复的 bug 包括 修复浏览器检测逻辑 不依赖于不兼容的 TS 方法 避免使用 ht...

局长
06/07
0
0
Mobile first! Wijmo 5 + Ionic Framework之:Hello Wor

本教程中,我们用Wijmo 5 和 Ionic Framework实现一个Mobile的工程:Hello World。 Ionic是什么? Ionic是一个HTML5框架、免费、开源,用于帮助生成hybird mobile Apps (混合移动应用)。 Ioni...

葡萄城控件技术团队
2014/10/28
0
2
ionic入门之AngularJS扩展

ionic ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML、 CSS和JavaScript,开发跨平台(目前支持:Android、iOS,计划支持:Windows Phone、Firefox OS) 的原生A...

笔阁
2015/05/04
0
4
探索angular源码--启动(1)

前言 angular2.0已经出来了,本来应该是研究最新的angular源码,但毕竟用了angular1这么久了,一直对其源码实现十分好奇,再加上研究源码主要目的是学习,版本不是特别重要,因此就1.3版源码...

烽穹寒渊
2015/08/01
0
0
HTML5来了,7个混合式移动开发框架

Posted 周二, 12/30/2014 - 12:18 by admin 在这个时间开始学习移动开发真是最好不过了,每个人应该都有一些移动应用的创意,而且你并不需要任何的原生应用编程经验,你只需要一些HTML的相关...

程序袁_绪龙
2015/01/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
54分钟前
2
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
1
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
152
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部