2014-05-22 8 views
5

js

내가하려는 것은 서버에 REST API REQUEST를 만드는 것입니다.

요청은 '승인'방법이어야하며 '승인'헤더를 포함해야합니다.

REST 서버와 통신하는 내 공장 코드는 다음과 같습니다. 'use strict'; 나는 'GET'하지 '옵션'에 대한 방법 변경 헤더 추가하는 경우

angular.module('mabidualApp') 
    .factory('User', function ($resource, config) { 

    return $resource(config.API+':url/:id', { 
     url: '@url', id: '@id' 
    }, { //parameters default 
     auth: { 
     method: 'POST', 
     params: { 
      url: "token", 
     } 
    }, 
     get: { 
     method: 'GET', 
     headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} , 
     params: { 
      url:"users", 
      id:'me' 
     } 
     } 
}); 

는 fitst 문제는 ​​여기

headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} , 

입니다. 나는

그래서 내가 두 번째 문제는 여기 app.js

.config(function($locationProvider, $routeProvider, $httpProvider) { 
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; 
    $httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w'; 

내 구성을 변경하려고 ..이 CORS 프리 플라이트 것에 대해,하지만 나는 그것을 사용하지 않도록 설정하는 방법을 알아낼 수 없었다 발견

$httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w'; 

아래 오류가 있습니다.

Cannot set property 'Authorization' of undefined 

'승인'헤더와 함께 'GET'요청을 보내는 솔루션이 있습니까? 감사합니다.

+0

다음은이 주제에 대한 다른 질문에 대한 좋은 대답입니다. http://stackoverflow.com/questions/25771062/how-to-pass-headers-on-the-fly-to-resource-for-angularjs – Hinrich

답변

0

나는 당신이 잘못된 요청을하는 방식으로 params를 사용하고 있다고 생각합니다. 그렇게 PARAMS와 헤더를 전환하십시오 :

angular.module('mabidualApp') 
    .factory('User', function ($resource, config) { 

    return $resource(config.API+':url/:id', { 
     url: '@url', id: '@id' 
    }, { //parameters default 
     auth: { 
     method: 'POST', 
     params: { 
      url: "token", 
     } 
    }, 
     get_auth: { 
     method: 'GET', 
     params: { 
      url:"users", 
      id:'me' 
     }, 
     headers: {'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} 
     } 
}); 

는 이미 각도로 정의 될 수있다 '얻을'때문에 사용자가 요청을받을 변경,하지만 난 모르겠어요 : 게다가

$httpProvider.defaults.headers.get_auth['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w'; 

, 당신이 있습니다 다른 헤더가 필요하지 않은지 확인하십시오.

+0

감사합니다. 매개 변수와 헤더를 전환하면 동일한 결과가 나타납니다. 사용자 지정 요청 헤더가 아닌 'GET'헤더를 설정하려고합니다. –