标签:
ionic作为应用,肯定和服务器有数据交换,分散处理api太繁琐,所以一般用拦截器来集中处理。
主要由以下几个方面的应用:
有四个方法
request: function(config) requestError: function(config) response: function(response) responseError: function(response)
基本看方法名称就知道其意义。具体的用法、写法请参考:http://my.oschina.net/ilivebox/blog/290881?p=1
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; }
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过期,需要重新登录。
标签:
原文地址:http://my.oschina.net/twinkling/blog/474526