Page 185 - AngularJS权威教程
P. 185
16.8 和 MongoDB 通信 165
}); 1
};
});
当向后端发送请求时,请求会被添加token参数。 2
自动添加身份令牌 更进一步,如果想要为每个请求都添加上当前用户的令牌,可以创建一
个请求拦截器,并将令牌当作参数添加进请求中。 3
创建请求拦截器的方法和前面创建响应拦截器的方法类似,只要将拦截目标从response换成
request即可。 4
angular.module('myApp', [])
.config(function($httpProvider) { 5
// 在这里构造拦截器
var interceptor = function($q, $rootScope, Auth) {
return {
'request': function(req) { 6
return req;
},
'requestError': function(reqErr) { 7
return reqErr;
}
};
}; 8
});
在请求拦截器内部可以加入向请求中添加token参数的业务逻辑,通过用户是否持有令牌来 9
检查身份验证情况,同时需要确保不会将手动添加的同名参数覆盖。
function($q, $rootScope, Auth) { 10
return {
'request': function(req) {
req.params = req.params || {}; 11
if (Session.isAuthenticated() && !req.params.token) {
req.params.token = Auth.getToken();
}
return req; 12
},
// ...
13
16.8 和 MongoDB 通信
14
即使没有后端服务,我们依然可以直接同提供了RESTful接口的数据库进行通信。
可以直接同Mongo进行通信,而无需创建后端服务。
15
①
在这个例子中,我们使用MongoLab ,这是一个SAAS服务,提供了可管理的
MongoDB实例。 16
为了同MongoDB通信,首先需要针对Restangular对象进行一些自定义配置。
17
—————————— 18
① https://mongolab.com/