2014-03-18 2 views
6

지정한 도메인에만 헤더를 설정할 수 있습니까?

"일반적인"방법은 모든 호출에 헤더를 추가하는 것입니다. 예를 들어 HTML 템플릿을 검색하는 호출도 추가합니다.

$http.defaults.headers.common['Authorization']='...'; 

지금까지의 다른 $에 http 인터셉터를 사용하는 것보다

, 나는 다른 방법으로 볼 수 있지만, 하나 생각할 수있는 경우에, 나는 궁금하다.

감사합니다.

+0

죄송합니다, 나는 몰랐어요 당신은 인터셉터를 사용하는 것보다 다른 방법을 원했다. – Jonathan

+0

문제 없습니다. 이것이 이것이 가능한 유일한 방법이라면, 그것은 옳은 대답입니다. – Francisc

답변

8

요격기를 만드는 것이 이것을 처리하는 방법입니다. 나는 다른 방법이 있을지 모르겠다. 어쨌든 예제가있다. :)

$httpProvider으로 등록 된 인터셉터를 만들 수 있습니다. Angular는 수정을 위해 기본 설정 객체를 전달할 것이고 거기에서 헤더를 수정할 수 있습니다. Angular $http doc page에 따라 빠른 예를 경우

은 여기 :

//register interceptor as a service 
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) { 
    return { 
     // optional method 
     'request': function(config) { 
      //Figure out which headers you want and set them just for this request. 
      config.headers = {"myHeader":"Special"} 

      return config; 
     } 
    }; 
}); 

$httpProvider.interceptors.push('myHttpInterceptor'); 
관련 문제