【问题标题】:How read the URL and parameter from HTTP interceptor $httpProvider in angular js如何从 Angular js 中的 HTTP 拦截器 $httpProvider 读取 URL 和参数
【发布时间】:2019-02-09 18:47:03
【问题描述】:

我可以从 HttpIntercepter 获取 URL 字符串和 POST 请求的参数,并将该信息推送到 IndexedDB。但我不知道如何从 httpintercepter 获取 URL 和参数。

angular.module("app").config(['$httpProvider', function ($httpProvider) {
        if (!$httpProvider.defaults.headers.get) {
            debugger;
            $httpProvider.defaults.headers.get = {};
            console.log('POST method triggered');
        }
        else {
        }
        $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
        $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
        $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
    }]);

发布调用是针对托管在不同服务器中的 API

  var tfscapacity = 'https://server.com/folderName/Folder/folderService/folderService.svc/GetResourceCapacityPlan';
        var params = {
            teamsite: 'team',
            project: 'pjt',
            iterationId: 'Sprint-3',
            team: 'team',
            username: 'UserName',
            password: 'PassWord'
        };

        $http.post(tfscapacity, params, null).then(function (response) {
        });  

【问题讨论】:

    标签: angularjs angular-http-interceptors


    【解决方案1】:

    经过几次搜索,我找到了答案。您必须编写一个过滤器并将其注入 http

    $httpProvider.interceptors.push('myHttpInterceptor');
    

    请查看完整代码

    angular.module("app").config(['$httpProvider', function ($httpProvider) {
            if (!$httpProvider.defaults.headers.get) {
                $httpProvider.defaults.headers.get = {};
                $httpProvider.interceptors.push('myHttpInterceptor');
            }
            else {
            }
            $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
            $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
            $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
        }
    ]);
    
    angular.module('app').factory('myHttpInterceptor', function ($q) {
        return {
            // optional method
            'request': function (config) {
                debugger;
                return config;
            },
            // optional method
            'requestError': function (rejection) {
                // do something on error
                return $q.reject(rejection);
            },
            // optional method
            'response': function (response) {
                // do something on success
                return response;
            },
            // optional method
            'responseError': function (rejection) {
                // do something on error
                return $q.reject(rejection);
            }
        };
    });
    

    【讨论】:

      猜你喜欢
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多