如何在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后端服务器的下一步是什么?
答案 0 :(得分:1)
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 });