model.save() を使用してバックボーン モデルを保存 (投稿) しようとしています。
モデル:
Backbone.Model.extend({
urlRoot: '/project/',
defaults: {
projectname: "default projectname"
}
});
モデルの保存 (Backbone.router オブジェクト内):
putTest: function(id) {
var projectItem = new ProjectModel({projectname: "This shiny new project"});
projectItem.save();
},
次のように、ミドルウェア「ボディパーサー」を使用するサーバー上のノード/エクスプレスルーターが、エクスプレス request.body オブジェクトでモデルの属性を取得することを期待します。
post: function(request, response) {
console.log(request.body.projectname);
}
しかし、response.body オブジェクトは空です。
method="post" で通常の html フォームを使用している場合:
<form id = "createProject"
action = "/project/"
method = "post" >
<input type="text" name="projectName" value="Project name" />
</form>
すべてが期待どおりに機能しています。
私は一日中これに苦労しており、何が間違っているのかわかりません。
Backbone.model.save() の概念全体を誤解していますか?それとも、保存時にバックボーン モデルの属性を保持するエクスプレス リクエスト オブジェクトに別のオブジェクトがありますか?