解決策を探すのに何時間も費やした後、ついにここに質問を投稿しました。私の愚かさの程度を教えてください:)。
コードは次のとおりです。
Model and collection:
var app = app || {};
var metricsModel = Backbone.Model.extend({});
var MetricsList = Backbone.Collection.extend({
model:metricsModel,
sync: function(method, collections, options) {
options.dataType = "jsonp";
return Backbone.sync(method, collections, options);
},
url:<url>
});
View:
app.CommitmentView = Backbone.View.extend({
initialize:function(){
app.metrics = new MetricsList();
app.metrics.bind("change", this.render, this);
app.metrics.fetch({
success: function(collection,response) {
console.log("fetch successful" + response);
},
error: function(collection,response) {
console.log("error" + JSON.stringify(response));
}
});
app.metrics.on('all',this.render,this);
}
});
結果: error{"readyState":4,"status":200,"statusText":"success"}.
エラーコールバックは常に呼び出されています。私はバックエンドをあまり制御できません。次のチェックが行われていることを確認してください。
サーバーは正しい JSON (JSON オブジェクトの配列) で応答します。FF と Chrome でテスト済み。JSON キーは文字列です。
これをさらにデバッグするにはどうすればよいですか? 私に教えてください。