在花了几个小时寻找解决方案之后,我终于在这里发布了问题。让我知道我的愚蠢程度:)。
这是代码:
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);
}
});
结果:错误{"readyState":4,"status":200,"statusText":"success"}。
错误回调总是被调用。我对后端没有太多控制权。只需确保完成以下检查:
服务器以正确的 JSON 响应 - JSON 对象数组。在 FF 和 Chrome 上测试。JSON 键是字符串。
我该如何进一步调试呢?请告诉我。