2015-06-17 107 views
0

後,我有以下一個div,NG-包括不工作攔截

<div id="contenido" ng-include="'partials/busqueda.html'"> </div> 

添加攔截到我的網頁它停止工作後,

app.factory('authInterceptor', function($q, Auth) { 
     return { 
      request: function (config) { 
       var deferred = $q.defer(); 

       if (Auth.authz.token) { 
        Auth.authz.updateToken(5).success(function() { 
         config.headers = config.headers || {}; 
         config.headers.Authorization = 'Bearer ' + Auth.authz.token; 

         deferred.resolve(config); 
        }).error(function() { 
         deferred.reject('Failed to refresh token'); 
        }); 
       } 
       return deferred.promise; 
      } 
     }; 
    }); 

    app.config(function($httpProvider) { 
     $httpProvider.interceptors.push('errorInterceptor'); 
     $httpProvider.interceptors.push('authInterceptor'); 

    }); 

如果我評論了線$ httpProvider .interceptors.push('authInterceptor'); ng-include再次運行

回答

1

我相信ng-include使用$http服務來下載模板。攔截器因此也會影響ng-include所做的請求。

在您的情況下,攔截器可能無法授權,並做出拒絕。這導致模板加載失敗。

您可以在請求攔截器的開始處檢查請求的類型(使用config對象)並跳過對靜態html的標記檢查。