-1

backboneCollection.fetch 結果を取得した後、次のように応答を取得して、残りの Web サービスを呼び出しています。

[{"projects":[{"id":1537512,"name":test},{"id":1537513,"name":test1}]}] 
//response =JSON.stringify(projects);

これをどのように繰り返すことができますか?

4

2 に答える 2

1

response.projects に対して未定義になっている理由は、応答オブジェクトが

[{"projects":[{"id":1537512,"name":test},{"id":1537513,"name":test1}]}]

あなたが述べたように、応答全体が配列にラップされます。

あなたが取るresponse[0]なら、あなたは持っているでしょう

{"projects":[{"id":1537512,"name":test},{"id":1537513,"name":test1}]}

これの response.projects を取ることができるはずです。

そこから、Backbone の解析機能に関する @Andbdrew のステートメントに従ってください。

于 2013-03-08T08:03:49.503 に答える
1

parseコレクションのメソッドをオーバーライドする必要があります。

... rest of collection...

,parse: function(response) {
    return response[0].projects;
}

このように、コレクションは返されたプロジェクトの配列で構成され、余分なラッパー オブジェクトはありません。

http://backbonejs.org/#Collection-parseで優れたドキュメントをチェックしてください。

于 2013-03-08T06:20:15.117 に答える