2013-05-10 59 views
0

我在做一个名为person的模型,我使用parse.com javascript api。将模型发送到parse.com“已创建了我的函数发送,但我认为它是错误的。我认为我必须覆盖同步方法与API parse.com和使用后创建的模型保存方法。这是正确的?骨干中的覆盖同步方法

var Person = Backbone.Model.extend({ 
     defaults: {}, 

     initialize:function() { 
      console.log("inperson"); 
     }, 

     validate:function() { 
      console.log("validate"); 
     }, 

     send:function() { 
      var user = new Parse.User(); 
      user.set("username", this.get("username")); 
      user.set("password", this.get("password")); 
      user.set("email", this.get("email")); 

      user.signUp(null, { 
       success: function(user) { 

       }, 
       error: function(user, error) { 
        alert("Error: " + error.code + " " + error.message); 
       } 
      }); 
     } 
    }); 

return Person; 

}); 
+0

如果您尝试使用parse创建对象,则需要扩展'Parse.Object'而不是'Backbone.Model'。说,我不知道我跟着你在做什么。为什么你一旦调用'send'就不存储对用户的引用?为什么不扩展'Parse.User'? – 2013-05-11 00:50:48

回答

0

骨干只使用一种同步方法(Backbone.sync)。与服务器“交谈”的所有方法集合和模型都经历了这个过程。
你可以简单地说其覆盖:

Backbone.sync = function(method, model, options) { 
    // method is send through methodMap witch is an object: 
    //var methodMap = { 
    // 'create': 'POST', 
    // 'update': 'PUT', 
    // 'patch': 'PATCH', 
    // 'delete': 'DELETE', 
    // 'read': 'GET' 
    //}; 

    // model refers to the active model and you can use model.attributes to get all the attributes. 

    // So in here you can write your integration with parse.com and not change anything else while using backbone. 
    // Remember to trigger `sync` etc.   
}; 

但我可以看到,parse.com媒体链接有一个REST的API,所以也许这是解决不了问题。

+0

如果我有两个不同的API根据两个不同的模型发送数据到服务器?示例:模型:人有一个API作为用户(用密码,邮件,ecc)解析支持becasue,和其他模型有不同同样的api.I我必须写一个如果区分这种情况? – 2013-05-10 13:54:27

+0

是解析有休息api但我想使用解析的javascript API – 2013-05-10 14:12:59