0

Backbone js で登録フォームを作成するにはどうすればよいですか? そして、バックエンドに POST を送信します。そのような状況でのコレクションの考え方がわかりません。

私がこれまでに得たもの:

define(['jQuery', 'Underscore', 'Backbone', 'text!templates/signup.html', 'models/UserRegistration'],
function($, _, Backbone, signUpTemplate, UserRegistration){

    var SignUpView = Backbone.View.extend({
        el: $('#screen'),

        events: {
            'submit #frm-signup': 'signup'
        },

        signup: function(){
            // Do something
        },

        render: function(){
            $(this.el).html(_.template(signUpTemplate, {}));
            return this;
        }
    });

    return new SignUpView;
});

そしてモデル:

define(['Underscore', 'Backbone'],
function(_, Backbone){

    var UserRegistration = Backbone.Model.extend({
        url: '/users/reg',
        paramRoot: 'user',
        defaults: {
            'fullname': '',
            'email': '',
            'password': ''
        }
    });

    return UserRegistration;
});

REST バックエンド サーバーに POST するための次のステップは何ですか?

4

1 に答える 1

1

Backbone.Model関数を呼び出すと、サーバーにPOSTを送信しますsave。したがって、サインアップを呼び出すときにフォームからモデルをすでに入力していると仮定すると、それは単にsaveを呼び出す場合です。

signup: function(){
            this.model.save();
        },

または、詳細を渡して保存機能に保存することもできます。

signup: function(){
            this.model.save({
                      fullname: $( '#fullname' ).val(),
                      email : $( '#email' ).val()
                      ...
                      });
        },

ある時点でビュー上にモデルを作成する必要があることにも注意する価値があります(現在、コードでは作成されていないようです)。

したがって、ビューを作成するとき:

new SignUpView({ model: new UserRegistration });
于 2012-05-24T15:03:24.580 に答える