2011-11-18 57 views

回答

3

您可以在模型定義中添加sync方法。

MyModel = Backbone.Model.extend({ 
    sync: function(method, model, options){ 
     return $.ajax({ 
      type:   'POST', 
      contentType: 'application/x-www-form-urlencoded', 
      beforeSend: function(xhr) { 
       xhr.setRequestHeader('X-HTTP-Method-Override', 'POST'); 
      }, 
      dataType:  'json', 
      url:   '/index?id=' + this.get('id') + '&email=' + this.get('email') 
     }); 
    } 
}); 


myModel = new MyModel({ 
    'id': '001', 
    'email': '[email protected]' 
}); 

myModel.save(); 
8

您可以將第二個參數中的任何jQuery ajax選項傳遞給save()。例如:

myModel.save({}, { url: "/index?id=001&[email protected]" }); 

如果您需要對此進行概括或DRY,那麼重寫同步可能是一個更好的主意。

+0

即時嘗試做一個表單上的帖子不只是通過參數 – killebytes

+0

你知道,如果這些屬性存在於模型中,他們只是默認發佈,對吧?你的問題意味着你需要一個非標準的URL。 – maxl0rd