我创建了一个简单的http拦截器,打算用来记录请求和响应。问题是它在config块中未定义,该块首先执行并由于无法实例化哪个模块而引发错误。下面是使用的代码:
authApp
.factory("httpInterceptor",function($log){
var httpInterceptor = {};
httpInterceptor.request = function(config){
$log.info("request is being made to " + config.url);
return config;
};
httpInterceptor.response = function(config){
$log.info("request to URL : " + config.url + " is completed
now.");
return config;
};
return httpInterceptor;
})
.config(function($httpProvider){
// Http Interceptor
$httpProvider.interceptors.push(httpInterceptor);
});
提前致谢 !!
最佳答案
您的代码似乎是正确的,除了要在其中插入全新的拦截器到$httpProvider
的拦截器列表的特定行之外。
$httpProvider.interceptors.push(httpInterceptor);
这行不知道什么是
httpInterceptor
,因为它被定义为角度工厂。更改为$httpProvider.interceptors.push('httpInterceptor'); // Note the quotes around it.
然后重试。
关于javascript - Angular:HTTP拦截器没有被注入(inject)配置块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44415366/