首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在angular js中读取HTTP interceptor $httpProvider中的URL和参数

如何在angular js中读取HTTP interceptor $httpProvider中的URL和参数
EN

Stack Overflow用户
提问于 2018-09-05 01:24:36
回答 1查看 361关注 0票数 0

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

代码语言:javascript
复制
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进行Post调用

代码语言:javascript
复制
  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) {
        });  
EN

回答 1

Stack Overflow用户

发布于 2018-09-05 21:54:09

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

代码语言:javascript
复制
$httpProvider.interceptors.push('myHttpInterceptor');

请找到完整的代码

代码语言:javascript
复制
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);
        }
    };
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52171297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档