をGET提出のフォームは、これは(ヒスイで)図であり、 :は、POSTメソッドは、これは私が今まで持っていた奇妙な問題である
<form method="POST">
<fieldset class="form-group"><label for="name">Name:</label><input name="name" type="text" placeholder="Enter a name" value="independents" class="form-control"><small class="text-muted">Give your chatroom a meaningful name for people to refer to it.</small></fieldset>
<button type="submit" class="btn btn-primary">Save chatroom</button><a href="/admin/rooms" class="btn btn-default">Cancel </a>
</form>
i "は保存チャットルーム" ボタンを押したときに、私は、Webページ上でこのエラーメッセージが表示されます。
Cannot GET /admin/rooms/edit/
この急行ルータは、私が書いた
router.route('/rooms/edit/:id')
.all(function(req, res, next) {
var roomid = req.params.id;
var room = _.find(rooms, r => r.id == roomid);
if (!room) {
res.sendStatus(404);
return;
}
res.locals.room = room;
next();
}).get(function(req, res) {
res.render('edit');
}).post(function(req, res) {
res.locals.room.name = req.body.name;
//res.redirect(req.baseUrl + '/rooms'); or we can also
res.redirect('./'); // but this is not good because if we had http://localhost:3000/admin/rooms/add/ it will take us to /add
});
この小さな特急アプリのために全体のコード(2つのJSファイル)this previous questionに存在してフォームの送信にヘンデルことになっています。あなたのルートdefintionで
'res.redirect( './');'にリダイレクトしたので、リダイレクトに続いてGET要求が行われます。あなたは何を期待しましたか? – Quentin