<tfoot id='ZU5ax'></tfoot>
    • <bdo id='ZU5ax'></bdo><ul id='ZU5ax'></ul>

    1. <legend id='ZU5ax'><style id='ZU5ax'><dir id='ZU5ax'><q id='ZU5ax'></q></dir></style></legend>
      1. <small id='ZU5ax'></small><noframes id='ZU5ax'>

        <i id='ZU5ax'><tr id='ZU5ax'><dt id='ZU5ax'><q id='ZU5ax'><span id='ZU5ax'><b id='ZU5ax'><form id='ZU5ax'><ins id='ZU5ax'></ins><ul id='ZU5ax'></ul><sub id='ZU5ax'></sub></form><legend id='ZU5ax'></legend><bdo id='ZU5ax'><pre id='ZU5ax'><center id='ZU5ax'></center></pre></bdo></b><th id='ZU5ax'></th></span></q></dt></tr></i><div id='ZU5ax'><tfoot id='ZU5ax'></tfoot><dl id='ZU5ax'><fieldset id='ZU5ax'></fieldset></dl></div>
      2. Angular 2 (Ionic 2):拦截 ajax 请求

        时间:2023-09-08
        <i id='6nSf2'><tr id='6nSf2'><dt id='6nSf2'><q id='6nSf2'><span id='6nSf2'><b id='6nSf2'><form id='6nSf2'><ins id='6nSf2'></ins><ul id='6nSf2'></ul><sub id='6nSf2'></sub></form><legend id='6nSf2'></legend><bdo id='6nSf2'><pre id='6nSf2'><center id='6nSf2'></center></pre></bdo></b><th id='6nSf2'></th></span></q></dt></tr></i><div id='6nSf2'><tfoot id='6nSf2'></tfoot><dl id='6nSf2'><fieldset id='6nSf2'></fieldset></dl></div>
            <tbody id='6nSf2'></tbody>

        • <small id='6nSf2'></small><noframes id='6nSf2'>

              <tfoot id='6nSf2'></tfoot>
                • <bdo id='6nSf2'></bdo><ul id='6nSf2'></ul>

                  <legend id='6nSf2'><style id='6nSf2'><dir id='6nSf2'><q id='6nSf2'></q></dir></style></legend>
                  本文介绍了Angular 2 (Ionic 2):拦截 ajax 请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  使用 Angular 1.x 可以使用以下代码拦截所有 ajax 请求:

                  With Angular 1.x is possible to intercept all ajax requests with some code like:

                  $httpProvider.interceptors.push('interceptRequests');
                  ...
                  var app_services = angular.module('app.services', []);
                     app_services.factory('interceptRequests', [function () {
                     var authInterceptorServiceFactory = {};
                     var _request = function (config) {
                     //do something here
                     };
                     var _responseError = function (rejection) {
                     //do something here
                     }
                     authInterceptorServiceFactory.request = _request;
                     authInterceptorServiceFactory.responseError = _responseError;
                     return authInterceptorServiceFactory;
                  }]);
                  

                  Angular 2 中是否有类似的(或开箱即用的)功能?

                  Is there anything similar (or out-of-the-box) in Angular 2?

                  推荐答案

                  一种方法可以是扩展 HTTP 对象来拦截调用:

                  An approach could be to extend the HTTP object to intercept calls:

                  @Injectable()
                  export class CustomHttp extends Http {
                  
                    request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
                      console.log('request...');
                      return super.request(url, options).catch(res => {
                        // do something
                      });        
                    }
                  
                    get(url: string, options?: RequestOptionsArgs): Observable<Response> {
                      console.log('get...');
                      return super.get(url, options).catch(res => {
                        // do something
                      });
                    }
                  }
                  

                  并按如下所述进行注册:

                  and register it as described below:

                  bootstrap(AppComponent, [HTTP_PROVIDERS,
                      new Provider(Http, {
                        useFactory: (backend: XHRBackend, defaultOptions: RequestOptions) => new CustomHttp(backend, defaultOptions),
                        deps: [XHRBackend, RequestOptions]
                    })
                  ]);
                  

                  您可以利用例如 catch 运算符来捕获错误并在全局范围内处理它们...

                  You can leverage for example the catch operator to catch errors and handle them globally...

                  看到这个 plunkr:https://plnkr.co/edit/ukcJRuZ7QKlV73jiUDd1?p=preview.

                  See this plunkr: https://plnkr.co/edit/ukcJRuZ7QKlV73jiUDd1?p=preview.

                  这篇关于Angular 2 (Ionic 2):拦截 ajax 请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:处理 400 后的运行时错误 下一篇:如何在ionic 3中进行水平滚动

                  相关文章

                  最新文章

                  <legend id='yoxqm'><style id='yoxqm'><dir id='yoxqm'><q id='yoxqm'></q></dir></style></legend>

                  <tfoot id='yoxqm'></tfoot>
                  1. <small id='yoxqm'></small><noframes id='yoxqm'>

                    1. <i id='yoxqm'><tr id='yoxqm'><dt id='yoxqm'><q id='yoxqm'><span id='yoxqm'><b id='yoxqm'><form id='yoxqm'><ins id='yoxqm'></ins><ul id='yoxqm'></ul><sub id='yoxqm'></sub></form><legend id='yoxqm'></legend><bdo id='yoxqm'><pre id='yoxqm'><center id='yoxqm'></center></pre></bdo></b><th id='yoxqm'></th></span></q></dt></tr></i><div id='yoxqm'><tfoot id='yoxqm'></tfoot><dl id='yoxqm'><fieldset id='yoxqm'></fieldset></dl></div>

                      • <bdo id='yoxqm'></bdo><ul id='yoxqm'></ul>