Я пытаюсь сохранить (разместить) модель Backbone с помощью model.save().backbone 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();
},
Я хотел бы ожидать мой узел/курьерскую маршрутизатор на сервере, который использует «тело промежуточного слоя -parser ', чтобы получить атрибуты модели на объекте экспресс-запроса.body, например:
post: function(request, response) {
console.log(request.body.projectname);
}
объект response.body пуст.
Когда я использую правильную форму HTML с методом = «пост», как так:
<form id = "createProject"
action = "/project/"
method = "post" >
<input type="text" name="projectName" value="Project name" />
</form>
все работает, как ожидалось.
Я боролся с этим весь день и не вижу, что я делаю неправильно.
Я не понял всю концепцию Backbone.model.save() или есть другой объект в объекте экспресс-запроса, который сохраняет атрибуты моей модели Backbone при сохранении?
Thx для вашего ответа. Это привело меня в правильном направлении. Мой body-parser был настроен на использование кодировки url (app.use (bodyParser.urlencoded ({extended: true));) вместо json (app.use (bodyParser.json();). Недостаток опыта с промежуточным программным обеспечением никогда не заставлял меня думать об этой возможности. Thx снова. –