Как перезагрузить текущую страницу в Express.js?
Я текущая на странице /id/1234
и нажмите кнопку POST /add
, после чего я хочу перезагрузить /id/1234
в Experss.js: res.redirect(**How to get /id/1234 dynamicly, since I will be in /id/1235, /id/1236 page do a same POST /add action?**)
Спасибо.
Ответы
Ответ 1
Я хотел бы добавить, что в версии 4.x Express вы можете использовать
res.redirect('back');
чтобы автоматически перенаправить обратно на страницу, с которой пришел запрос.
Это эквивалент
res.redirect(req.get('referer'));
о котором говорится в Ответ Питера Лиона
Смотрите также: http://expressjs.com/api.html#res.redirect
Ответ 2
Чтобы дать вам ответ, который вы, вероятно, захотите, браузер отправит заголовок с именем [Referer][1]
, который будет иметь URL-адрес страницы /id/1234
, так что:
res.redirect(req.get('referer'));
Однако ваш дизайн URL-адреса, вероятно, будет неудовлетворительным, если вам нужно это сделать. Более эффективные варианты могут представлять форму через AJAX без изменения URL-адреса или включая идентификатор 1234
в теле формы и использовать это значение из запроса POST для создания правильного URL-адреса для соответствующего перенаправления.
Ответ 3
Я использую express 4.x
вы можете написать вот так
res.redirect(req.originalUrl)
Ответ 4
res.redirect("/id/1234")
Вы просто указываете путь (или полный URI), который вы хотите перенаправить.
И если вы находитесь в данных post:
res.redirect("/id/" + req.body.id);