文档章节

Angularjs中的拦截器 使用笔记

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

精选30+云产品,助力企业轻松上云!>>>

异步操作

有时候需要在拦截器中做一些异步操作。幸运的是, 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
博文 12
码字总数 10879
作品 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
287
0
Angular 快速学习笔记(1) -- 官方示例要点

创建组件 ng generate component heroes {{ hero.name }} {{}}语法绑定数据 管道pipe 格式化数据 [(ngModel)] 双向绑定,form需要引入FormsModule AppModule 放置元数据(metadata)a. @NgM...

osc_yztbpii7
2018/05/21
2
0
Angular 4+ 修仙之路

Angular 4.x 快速入门 Angular 4 快速入门 涉及 Angular 简介、环境搭建、插件表达式、自定义组件、表单模块、Http 模块等 Angular 4 基础教程 涉及 Angular CLI 使用、创建组件、事件、自定...

osc_g3lqfv0y
2018/01/19
26
0
AngularJS的 拦截器 和 Mocks

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

开源中国匿名会员
2014/06/10
377
0

没有更多内容

加载失败,请刷新页面

加载更多

docker镜像pull不下来最终解决方法

pull镜像wordpress下来,但是出现如下错误: # docker pull wordpress:latest Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while ......

osc_x5cptzgg
12分钟前
0
0
雅猴的脚印——2020年下半年

雅猴的脚印——2020年下半年( 2020年上半年, 2019年下半年, 2019年上半年, 2018年及以前) ● 好忙 ……。(200704) 每个孩子都潜藏着强大的理解、思考、探索的能力,让孩子从小接触一点...

osc_1oqjcug0
14分钟前
0
0
代理损失函数(surrogate loss function)

Surrogate loss function,中文可以译为代理损失函数。当原本的loss function不便计算的时候,我们就会考虑使用surrogate loss function。   在二元分类问题中,假如我们有\(n\)个训练样本...

osc_9i00cx5n
15分钟前
0
0
Webapi管理和性能测试工具WebBenchmark

WebBenchmark是一款基于开源通讯组件Beetlex扩展的Webapi管理和性能测试工具(在技术上是beetlex webapi和vuejs的结合),在传统工具中一般管理工具缺乏性能压测能力或有性能测试的缺少管理功能...

osc_8eb8cps3
15分钟前
18
0
了解Java中的检查与未检查异常 - Understanding checked vs unchecked exceptions in Java

问题: Joshua Bloch in " Effective Java " said that 约书亚·布洛赫(Joshua Bloch)在《 有效的Java 》中说 Use checked exceptions for recoverable conditions and runtime exceptions......

fyin1314
15分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部