2016-08-26 6 views
0

私はJavascriptとAngularを初めて使用しています。私は[{"firstName": "James"、...} ...]のようなファイルからまっすぐなJSONデータを使って$ httpbackend模擬サーバーから、実際のRESTサーバーからデータを取得して私のものを試してみようとしていますクライアントコード(backand)。私のクライアントで

次のように私は、HTTPサービスを使用します。

return $http.get(serviceUrlBase).then(getAllcontactsSuccess, getAllcontactsError); 
// Promises 
function getAllcontactsSuccess(response) 
{ 
    return response.data.data; 
} 

The 'response data.data' returns this: 
{"data":[{"__metadata":{"id":"1"},"id":1,"firstName":"James","lastName":"Bud","email":"[email protected]","phone":"504-621-8927","street":"6649 N Blue Gum St","city":"New Orleans","state":"LA","zip":"70116"},{"__metadata":{"id":"2"},"id":2,"firstName":"Josephine","lastName":"Darakjy","email":"[email protected]","phone":"810-374-9840","street":"4 B Blue Ridge Blvd","city":"Brighton","state":"MI","zip":"48116"},...]} 

私は、同様の質問をたくさん読んで、私はhttptransformerを記述しようとしていますが、何でも私がしようとして機能していません。私は、 "__metadata":{"id": "1"}セクションを削除することはできません。これは、コントローラー内でキャリアがオーバーしたときに追加のフィールドと見なされるため、問題と思われるセクションです。

いずれのアイデアもありがとうございます。

+0

を? – reptilicus

+0

なぜそれを取り除く必要がありますか?何が問題なの?あなたはちょうど...それを使わないのですか? –

答えて

2

さてあなたは、実際のサービスコールと同じになるようにデータを模擬する必要がありますが、サービスコールでは、あなたのような何かを行うことができます:ちょうどサービスコールで `__metadata`を取り除く

data = response.data.data 
data.forEach(function (d) { 
    delete d.__metadata 
}) 
+0

なぜこれを控除したのですか? – Clint

+0

良い質問、私はS.O.にいくつかかなりばかげたことを言ったことを意味しますが、これはかなり妥当であると感じています:) – reptilicus

+0

これは動作します。あまりにも単純です。私はhttpの変圧器で迷子になった。メタデータが角度応答から遮蔽されない理由を理解できません。 ctrl.contacts [0] "> {{key}}のビューコード