2013-05-10 101 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