当前位置: 首页 > 面试题库 >

Angular.js $ http拦截“ net :: ERR_CONNECTION_REFUSED”

卫高谊
2023-03-14
问题内容

我正在尝试使用$http's拦截器为我的网站编写一个通用错误处理程序,但它们似乎无法执行我想做的事情。

我放置了拦截器'response''responseError'但是当服务器处于脱机状态/未响应时,它们从未被调用(net ::
ERR_CONNECTION_REFUSED)。我了解为什么会发生这种情况,因此没有响应可拦截。

我想知道是否有捕获这些错误的一个通用的方法,比听其他$httpPromiseerror回调为每个请求。


问题答案:

您可能可以检查ResponseError的状态。当API离线时为0(直到Angular 1.3.18)或-1(从Angular 1.3.19开始):

angular.module("services.interceptor", arguments).config(function($httpProvider) {
     $httpProvider.interceptors.push(function($q) {
        return {
          responseError: function(rejection) {
                if(rejection.status <= 0) {
                    window.location = "noresponse.html";
                    return;
                }
                return $q.reject(rejection);
            }
        };
    });
});


 类似资料:
  • 问题内容: 我想使用Angular.js在单页Web应用程序上实现身份验证。在官方文档角建议使用拦截器: 问题是当服务器发送401错误时,浏览器立即停止显示“未经授权”消息或登录弹出窗口(服务器发送身份验证HTTP标头时),但是Angular无法使用其拦截器捕获HTTP根据建议处理错误。我误会了吗?我尝试了更多在Web上找到的示例(例如this,this和this),但是没有一个起作用。 问题答案

  • 配置拦截器 declarations: [ AppComponent ], HttpClientModule ], providers: [ [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true } ] bootstrap:

  • 本文向大家介绍详解AngularJS中的http拦截,包括了详解AngularJS中的http拦截的使用技巧和注意事项,需要的朋友参考一下 http拦截,即$http服务允许我们与服务端交互,有时候我们希望在发出请求之前以及收到响应之后做些事情。 $httpProvider包含了一个interceptors的数组。 我们这样创建一个interceptor。 接着注册interceptor.  以下

  • 问题内容: 我似乎无法让$ httpProvider.interceptors实际进行拦截。我在JSFiddle上创建了一个示例,该示例记录了拦截器运行的时间以及$ http响应成功的时间。在成功返回响应之后,将运行请求拦截器。这似乎有些倒退。 我不能使用transformRequest,因为我需要更改配置中的参数。该部分未显示在示例中。 我正在使用AngularJS 1.1.5 http://j

  • 我正在使用servlet 3.0和Jetty编写HTTPS代理服务器。 如何在码头处理HTTPS Connect? 目前我正在使用jetty maven插件,我的插件配置如下- 是-我想在同一端口上处理HTTP和HTTPS。当我启动Jetty时,一切都很好- 我对doGet和doPost进行了@覆盖,当我发送HTTP请求时,这两种方法都很好。但是当客户端发送HTTPS Connect时,它们都不会

  • 问题内容: 我知道如何拦截所有请求,但是我只想拦截来自我资源的请求。 有谁知道如何做到这一点? 问题答案: 如果只想拦截来自特定资源的请求,则可以使用可选的action 属性。Angular的文档请参见此处(用法>操作) 的JavaScript Plunker:http ://plnkr.co/edit/xjJH1rdJyB6vvpDACJOT?p=preview