标签:
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