0

フォームオブジェクトを投稿するのに問題があります。これは、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
    };
});
4

1 に答える 1

0

コメントをありがとう、それらを読んだ後、私はこれを別の方法で行うことにしました。model.saveを使用する代わりに、collectioninstancename.fetchメソッドを使用し、コレクションで設定を上書きして、GETではなくPOSTを実行し、正常に機能しているように見えます。

于 2012-09-21T05:20:29.993 に答える