文档章节

Angularjs中的拦截器 使用笔记

令小力
 令小力
发布于 2016/12/09 10:45
字数 217
阅读 33
收藏 0

异步操作

有时候需要在拦截器中做一些异步操作。幸运的是, AngularJS 允许我们返回一个 promise 延后处理。它将会在请求拦截器中延迟发送请求或者在响应拦截器中推迟响应。

下面是项目中用到的代码。

ZbtjxcApp.factory('myHttpInterceptor', ['$q', '$window','$location', function($q, $window,$location) {
    return {
        // 全局响应
        'response': function(response) {
            // 这里还可以利用promise做异步处理,目前不用做,好像也能满足需求
            switch (response.status) {
                case (200):
                    if (response.data) {
                        //这里可以做自己相应的处理
                        if (response.data.code == 100100) {
                            $window.location.href = "/login.html";
                        } 
                        /*else if(response.data.code = 100200) {
                            $location.path('/unauthorized');
                        }*/
                    }
                    break;
                case (500):
                    //后期在处理
                    console.log("服务器正忙 -- 500");
                    break;
                case (404):
                    console.log("not found -- 404");
                    break;
                default:
                    console.log("服务器正忙");
            }
            return response;
        }
    };
}]).config(['$httpProvider', function($httpProvider) {
    $httpProvider.interceptors.push('myHttpInterceptor');
}]);

ZbtjxcApp.factory('pageService', ['$http', function($http) {
    var getPageList = function(geturl, getdata) {
        return $http.get(geturl, {
            params: getdata
        });
    }
    return {
        getPageList: getPageList
    };
}]);

© 著作权归作者所有

共有 人打赏支持
上一篇: vue 表单提交
令小力
粉丝 4
博文 11
码字总数 9670
作品 0
海淀
程序员
私信 提问
Angular 5 升级至Angular 7

根据升级建议,应该先从Angular 5升级至Angular 6,再从Angular 6升级至Angular 7。 本文内容“升级前-升级”适用于想从Angular 5升级至Angular 6的小伙伴; 本文内容“升级后”适用于想从A...

Hermy
2018/12/20
0
0
《AngularJS学习整理》系列分享专栏

《AngularJS学习整理》系列分享专栏 《AngularJS学习整理》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201748.html 文章 教你用AngularJS框架一行JS代码实现...

开元中国2015
2018/11/09
0
0
Angular 6.0.4 和 6.1.0-beta.0 发布,Web 前端框架

Angular 6.0.4 和 6.1.0-beta.0 已发布,两者的主要更新都是修复 bug,不过 6.1.0-beta.0 还添加了一些新特性。 修复的 bug 包括 修复浏览器检测逻辑 不依赖于不兼容的 TS 方法 避免使用 ht...

局长
2018/06/07
669
3
AngularJS的 拦截器 和 Mocks

拦截器是 AngularJS 内置的一个特性,你可以插入一个请求或者回调方法链,修改或者打断各终结点之间的逻辑流。但在 AngularJS 应用的单元测试中,拦截器是用来捕捉 XHR 请求, 以避免外部请求...

开源中国匿名会员
2014/06/10
0
0
试水新的Angular4 HTTP API

本文来自网易云社区 作者:梁月康 原文:https://netbasal.com/a-taste-from-the-new-angular-http-client-38fcdc6b359b Angular更新了新的 4.3.0-rc.0 版本。在这个版本里,我们可以发现更新...

网易云
2018/09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

漏洞防御与修复工作

漏洞管理工作是企业安全建设必不可少的一环,在风险管理工作中,漏洞管理能够防患于未然,企业对漏洞管理有着广泛的基础建设和实践经验。但随着攻防技术的发展,传统漏洞管理的安全技术和管理...

linuxprobe16
16分钟前
0
0
MicroPython技术及应用前景

1 Micropython技术是什么? MicroPython极精简高效的实现了Python3语言。它包含Python标准库的一小部分,能在单片机和受限环境中运行。 1.1 MicroPython发展 由剑桥大学的理论物理学家乔治....

bodasisiter
22分钟前
0
0
跟我学Spring Cloud(Finchley版)-13-通用方式使用Hystrix

本节详细讲解使用Hystrix的通用方式。 简介 Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix主要...

周立_ITMuch
30分钟前
0
0
🛠️Hanjst/汉吉斯特更新加JavaScript运行时优化等

这是 Hanjst/汉吉斯特 发布以来的首个主要升级更新版本。这次的主要升级更新的内容包括移除HTML Comments注释行, 优化在 Hanjst include模板文件时的JavaScript运行时环境。 Hanjst 在设计和...

wadelau
今天
2
0
OSChina 周六乱弹 —— 舔狗是没有好下场的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听什么# #今天听这个# 分享 Nirvana 的歌曲《Smells Like Teen Spi...》 《Smells Like Teen Spi...》- Nirvana 手机党少...

小小编辑
今天
463
13

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部