2012-05-24 77 views
0

如何在Backbone js中创建注册表单?并发送POST到我的后端,我不明白这种情况下收集的想法。主干需要js注册

我得到了什么至今:

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

回答

1

Backbone.Model当您调用它的save函数时,会向服务器发送POST。因此,假设你已经填充从表单模型时调用注册,那么它只是调用保存的情况:

​​

另外,您可以通过细节来保存到保存功能:

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

也许值得注意的是,您需要在某些时候在视图上创建模型(您的代码目前似乎没有这样做)。

所以,当你创建视图:

new SignUpView({ model: new UserRegistration });