2016-10-27 2 views
0

각도 j의 $ http.post()에이 컬 코드를 어떻게 변환 할 수 있는지 말해 줄 수 있습니까? 어떤 도움이라도 대단히 감사 할 것입니다. 감사!

curl https://example.zendesk.com/api/v2/organizations.json \ 
-H "Content-Type: application/json" \ 
-d '{"organization": {"name": "My Organization"}}' \ 
-v -u {email_address}/token:{api_token} 

지금까지 나는 다음과 같은 AngularJS와 코드가 설정 한 :

     $http({ 
          method : "POST", 
          url : url, 
          data : angular.toJson($scope.form), 
          headers : { 
           'Content-Type' : 'application/json' 
          } 
         }).then(Success,Failure); 

난 그냥 설치하는 방법 이메일 주소 아무 생각이없고 호출 토큰.

+0

'$ http.post()'로 변환하려고 시도한 것은 무엇입니까? –

+0

지금까지 시도한 내용으로 내 질문을 업데이트했습니다. – pretzo246

+0

당신은 할 수 없으며 그렇게해서는 안됩니다. 정말로 api 토큰/키를 노출하고 싶지는 않습니다. 해당 정보를 전달할 백엔드 서비스를 만들어야합니다. – Hoyen

답변

2

내가 줄 수있는 조언은 프런트 엔드에서 CORS 요청을하지 않는 것입니다. 관심사를 분리하고 싶으므로 백엔드가 api 토큰을 호출 한 다음 해당 데이터를 JSON으로 파싱하는 것이 좋습니다. 결국 프런트 엔드가 데이터 요청을 보낼 수있는 백 엔드 끝점/경로가 있습니다. 백 엔드에서

,이 같은 모양 설정 한 경로 : 그래서처럼 각도 공장/서비스에서

router.post('/api/data', (req, res) => { 
    request('https://example.zendesk.com/api/v2/organizations.json', { 
     headers: { ... }, token: { ... } 
    }).then((result) { res.json(result) }; 
}); 

을, 당신이 만드는거야 HTTP 요청 :

$http.post('localhost/api/data') 
    .then((response) => { response = response.data }) 
    .catch((error) => { if (err) { console.log(err) }) 

이 정보가 도움이 되었기를 바랍니다.