我试图拦截输入的网址,获取其参数,将其存储在服务中(可由其他服务使用),然后重定向到/
。
var config = function (AppConfig, $urlRouterProvider) {
'ngInject';
$httpProvider.interceptors.push(function ($q, $location) {
return {
'request': function (config) {
var params = $location.search(); //How can I store these params ?
}
}
});
$urlRouterProvider.otherwise(AppConfig.defaultRoute);
};
答案 0 :(得分:0)
您可以定义一个服务或工厂来存储这些值,然后将此服务添加为其他服务的依赖项;
.service('storedURLs', function() {
var urls= [];
return {
add: function(newURL) {
urls.push(newURL);
},
geturls: function() {
return urls;
}
};
})
而且,在你的拦截器中你可以使用:
$httpProvider.interceptors.push(function ($q, $location, $injector) {
return {
'request': function (config) {
var params = $location.search();
var urlService= $injector.get('storedURLs');
urlService.add(params);
}
}
});