我创建了一个简单的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/

10-10 18:59