骨干需要 JS 注册

backbone require js registration

本文关键字:JS 注册      更新时间:2023-09-26

如何在 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 后端服务器?

Backbone.Model

调用服务器函数时向服务器发送save POST。 因此,假设您在调用注册时已经从表单填充了模型,那么这只是调用 save 的情况:

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

或者,您可以将要保存的详细信息传递到保存函数中:

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

可能值得注意的是,您还需要在某个时候在视图上创建模型(您的代码当前似乎没有这样做)。

因此,当您创建视图时:

new SignUpView({ model: new UserRegistration });