JavaScriptファイルをより適切に構造化するためにBackbone.jsの使用を開始したいと思います。ただし、APIを介してJSONだけを出力するようにアプリケーションをやり直したくありません。間違っている場合は修正してください。ただし、これまでのところ、JSONAPIがなくても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
呼び出されることはありません。
私は何かを得ていませんか?JSON応答ではなくHTMLで機能させるには、何を変更する必要がありますか?それとも、モデルを使用するべきではありませんか?