私はbackbone.jsを初めて使用し、同様の問題に対する他の解決策を読みましたが、それでも私の例を機能させることができません。以下のURLからJSONを返す基本的なRailsAPIがあり、backbone.jsフロントエンドを介してアクセスしようとしています。それらは1つの異なるサーバーであるため、「jsonp」リクエストを使用する必要があると思います。現在、バックボーンコレクションの同期関数をオーバーライドしてこれを行っています。
Api url: http: //guarded-wave-4073.herokuapp.com/api/v1/plans.json
sync: function(method, model, options) {
options.timeout = 10000;
options.dataType = 'jsonp';
options.url = 'http://guarded-wave-4073.herokuapp.com/api/v1/plans.json'
return Backbone.sync(method, model, options);
}
これをテストするために、「plans = new Plans()」、次に「plans.fetch()」を使用してChromeコンソールに新しい「plans」コレクションを作成し、JSONを取得しようとします。
後でplans.modelsを呼び出すと、まだ空の配列があり、plans.fetch()から返されるオブジェクトにはjsonデータが含まれていないようです。
私が間違っているアイデアはありますか?