recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Comment configurer l'intercepteur http dans Angularjs pour renvoyer la requête en cas de réponse 404

Actuellement, je ne peux accéder à la page d'erreur que lorsque la requête renvoie 404

    //    创建拦截器
    app.factory('Http404Interceptor', function ($q)
    {
        return {
            responseError: function (response)
            {
                if(response.status == 404){
                    location.href = appURL.fullUrl + 'error';
                }
                return $q.reject(response);
            }
        }
    });
    
    //    配置拦截器给app
    app.config(function ($httpProvider)
    {
        $httpProvider.interceptors.push('Http404Interceptor');
    });

Mais l'exigence actuelle est de relancer la requête vers un autre lien (tel que : a.php) lorsque la requête renvoie 404. Comment dois-je l'écrire pour que l'intercepteur puisse réaliser cette fonction ?

PHP中文网PHP中文网2822 Il y a quelques jours532

répondre à tous(1)je répondrai

  • 漂亮男人

    漂亮男人2017-05-15 17:04:16

    Correction :

    Que signifie « demander un autre lien (tel que : a.php) » ? Demander un autre api pour obtenir des données en tant que fallback ?

    Si c’est ce que cela signifie, n’est-ce pas assez simple :

    //    创建拦截器
    //之前忘了这里还有个循环依赖的问题,我去
    app.factory('Http404Interceptor', function ($q, $injector)
    {
        return {
            responseError: function (response)
            {
                if(response.status == 404){
                    var $http = $injector.get('$http');
                    return $http.get('anotherUrl');
                }
                return $q.reject(response);
            }
        }
    });
        
    //    配置拦截器给app
    app.config(function ($httpProvider)
    {
        $httpProvider.interceptors.push('Http404Interceptor');
    });

    répondre
    0
  • Annulerrépondre