2016-10-27 14 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) }) 

こちらがお役に立てば幸いです。