2016-10-27 94 views
0

有人能告訴我如何將下面列出的curl代碼轉換爲$ http.post()用於角度js嗎?任何幫助將非常感激。謝謝!

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) }) 

我希望這有助於!