我想开始使用 Backbone.js 来更好地构建我的 JavaScript 文件。但是,我不想重做我的应用程序以通过 API 仅输出 JSON。如果我错了,请纠正我,但到目前为止,我的印象是即使没有 JSON API,我仍然可以使用 Backbone.js。现在我遇到了一个问题,我的服务器返回 HTML,而 Backbone 模型不喜欢这样并返回错误。
基本上,我想根据类别加载 HTML 片段:
var Filter = Backbone.Model.extend({
url: '/filters/',
});
var FilterView = Backbone.View.extend({
initialize: function() {
this.model.on('change', this.updateFilter, this);
this.changeFilter();
},
changeFilter: function() {
this.model.fetch({data: $.param({category: this.options.category})});
},
updateFilter: function(filters) {
console.log(filters);
this.$el.html(filters);
},
});
var filter = new Filter();
var filterView = new FilterView({
el: $( '#filterContainer' ),
category: $( '#categorySlug' ).data( 'slug' ),
model: filter,
});
现在我想我可以使用这个简单的模型通过 Ajax 检索我的 HTML 片段。请求正确触发,但 Backbone 返回错误并且updateFilter
永远不会被调用。
我没有得到什么吗?我需要进行哪些更改才能使其与 HTML 而不是 JSON 响应一起使用?或者我根本不应该使用模型?