我正在开发一个使用快递和路由来处理http请求的网站。
我正在使用车把填充html div元素:
<div class="popup center" style="height: 15em;">
<h3 name="name" id="name">{{ active_name }}</h3>
<p name="description" id='description'>{{ active_desc }}</p>
</div>
现在,我让用户使用 contenteditable =“ true” 修改这些元素。
我想用一个按钮来调用通过所有已修改字段的路由。
目前,我只能传递一个元素(即{{session.recipe}},这是食谱的ID),但我也想处理修改后的名称和描述。
<a href="/save-recipe/{{session.recipe}}" style="color: black;">
<button name="button" class="greyishBackground width45 right">
<p>Save</p>
</button>
</a>
在index.js中,我正在这样做:
router.get('/save-recipe/:id/', function(req, res, next) {
var recipe_id = req.params.id;
console.log(req.body.name); // doesn't work - undefined
}
由于req.body.name不起作用(未定义),我试图找到一种将更多参数传递给路由的方法,以便以与我处理recipe_id相同的方式来处理它们(即req。 params.id)。
有人可以解释我该怎么做吗? 我可以创建带有名称和描述字段的对象并仅传递该对象吗?我该怎么做?
还是有一种方法可以使 req.body.name 工作?
答案 0 :(得分:0)
router.get('/save-recipe/:id/:name/:desc', function(req, res, next) {
var recipe_id = req.params.id;
var recipe_name = req.params.name;
var recipe_name = req.params.desc;
}
req.body.name
未定义,因为您没有向服务器发布任何内容。