2015-01-06 2 views
2

으로 변경합니다. 따라서 http 호출을 가로 채어 각 호출에 권한 부여 헤더가 있으면 추가하려고합니다. 잘 작동합니다 어떤 HTTP 메서드 (GET, POST, DELETE)를 사용하더라도 OPTIONS 메서드를 사용하여 요청을 보냅니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

서버가 restjar를 가진 nodejs입니다.

angular.module('mymodule').factory('RequestService', function() { 
    var token = null; 

    var service = { 
     setToken: function setToken(_token) { 
      token = _token; 
     },  

     getToken: function getToken() { 
      return token; 
     }, 

     request: function request(config) { 
      if (token) { 
       config.headers['Authorization'] = 'Token' + token; 
      } 
      return config; 
     } 

    } 

    return service; 
}).config(function($httpProvider) { 
    $httpProvider.interceptors.push('RequestService'); 
} 
+0

통화가 도메인 간 통화입니까? –

+0

실제로, CORS를 허용하기 위해 크롬 플러그인을 사용합니다. @SamuelEUSTACHI –

+0

플러그인을 사용 하시겠습니까? –

답변

1

당신이 프런트 엔드 측에 자신의 인터셉터를 구현하는 경우, 당신은 CORS에 대해 기억해야합니다

app.use(function(req, res, next) { 
    res.header('Access-Control-Allow-Origin', req.headers.origin || "*"); 
    res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,HEAD,DELETE,OPTIONS'); 
    res.header('Access-Control-Allow-Headers', 'content-Type,x-requested-with,authorization123456,accept'); 
    next(); 
}); 

우리는 방법뿐 아니라 헤더에 대한 액세스-설정 제어가-허용 설정을 기억해야한다. 제 경우에는 AngularJS의 모든 요청에 ​​추가 된 토큰을 넣는 곳이 'authorization123456'입니다.

관련 문제