2012-12-22 101 views
1

這一定是我不明白的地方。骨幹 - 未定義的請求主體

我有一個名爲專輯骨幹型號:

var Album = Backbone.Model.extend({ 
idAttribute: "_id", 
urlRoot: "http://localhost:8000/albums", 
defaults:{ 
    "_id": null, 
    "title": "", 
    "year": "", 
    "genre": "" 
    } 
}); 

,我有,我用的RESTify使Node.js服務器:

var server = restify.createServer(); 
server.put('/albums/:id', putAlbum); //putAlbum is a function defined above. 
server.use(restify.bodyParser({ mapParams: false })); 

我的問題是,當我保存現有相冊樣板(也是當我用集合中的創建方法發佈一個新的)時,服務器會收到請求並調用正確的功能,但是當我這樣做時:

console.log(req.body); 

身體是'未定義'。我一直試圖檢查params屬性,但它只有id。這是我錯誤配置的東西嗎?

回答

4

重新排列你的代碼的路由處理之前解析身體被稱爲:

var server = restify.createServer(); 
server.use(restify.bodyParser({ mapParams: false })); 
server.put('/albums/:id', putAlbum); 
+0

真的嗎?這很簡單?!萬分感謝 ! –