2012-07-18 53 views
4

東西似乎是錯誤的,無論是我的服務器響應或我的保存功能。 在任何情況下都不會調用model.save()的成功和錯誤函數。Backbone.js model.save() - 正確的服務器響應

我的服務器響應:

exports.updateBusinessBannerAd = function(req, res) { 
// update banner ad 
db.insert(req.body, req.body._id, function(err, data) { 
    if (err) { 
     console.log('Update business banner ad: ' + err.message + ' ' + err['status-code']); 
     res.send(err['status-code'], { header: 'Update banner ad', message: err.message, type: 'error'}); 
    } 
    else { 
     res.send(200); 
    } 
}); 

};

在這裏,我的客戶端代碼:

saveBannerAd: function(self) { 
     self.model.id = self.model.attributes._id; 
     self.model.save({ 
      success: function(model, res) { 
        utils.growl('Banner Ad', 'has been updated!', 'info'); 
        self.resetHandler(); 
      }, 
      error: function(model, res) { 
       console.log(res); 
       utils.growl(res.header, res.message, res.type); 
       return; 
      }  
     }); 
    }, 

我缺少什麼?

+0

當我是Backbone.js noob時,我有同樣的問題。這裏是答案http://stackoverflow.com/questions/9706260/getting-started-with-backbonejs-what-should-a-server-return – Deeptechtons 2012-07-19 11:52:10

回答

1

好的,添加{id:self.model.get('id')}作爲model.save()的第一個參數解決了我的問題。

In this thread

有人建議設置「空」作爲第一個參數作爲佔位符,但我的經驗是,這將調用錯誤的功能。