フォームオブジェクトを投稿するのに問題があります。これは、setTarget.saveが未定義であるテストデータを使用してこれまでに取得したものです。同様の構造を使用して、fetch/get呼び出しを正常に機能させることができます。
景色
define([
'jquery',
'underscore',
'backbone',
'text!templates/default/parent.html'
], function($, _, Backbone, parentTemplate) {
var defaultView = Backbone.View.extend({
initialize: function() {
$(this.el).html(parentTemplate);
this.render();
},
events: {
'click #busNext': 'showTarget'
},
showTarget: function() {
this.model.set({
businessName: $('#busInfoName').val(),
});
this.model.save();
},
render: function() {
this.setValidator();
return this;
}
});
return new defaultView;
});
モデル
define([
'underscore',
'backbone'
], function(_, Backbone) {
var setTarget = Backbone.Model.extend({
initialize: function() {
console.log('set target initialize');
},
url: 'test.htm',
defaults: {
businessName: "",
businessPhone: ""
}
});
return setTarget;
});
コレクション
define([
'jquery',
'underscore',
'backbone',
'models/setTarget'
], function($, _, Backbone, setTarget){
var target = Backbone.Collection.extend({
model: setTarget,
});
return new target;
});
ルーター
define([
'jquery',
'underscore',
'backbone',
'validate',
'views/default/parent',
'models/setTarget',
'collections/target'
], function($, _, Backbone, validate, defaultView, setTarget, target) {
var AppRouter = Backbone.Router.extend({
routes: {
'': 'defaultAction',
'index': 'defaultAction',
},
defaultAction: function(actions) {
this.changePage(defaultView, 'fade');
},
changePage: function(page, pageTransition) {
$('body').append($(page.el));
$.mobile.changePage($(page.el), { changeHash: true, transition: pageTransition });
}
});
var initialize = function() {
var app_router = new AppRouter;
Backbone.history.start();
};
return {
initialize: initialize
};
});