@flashboom

EJS (Node.js ) Как передать параметры строки запроса в файл.ejs?

Доброго времени суток. Использую шаблонизатор EJS. На главной странице (index.ejs) есть ссылка вида:
5d0e4f0a8353d118599941.png
В app.js есть код который должен вывести параметры запроса, но в консоль ничего не выводит.
5d0e4dc88507b465313219.png
Но если поменять путь с href="/create?id=3&name=Tome" на href="/about?id=3&name=Tome" (хотя страницы about не существует)
и в app.js поменять на
5d0e4e38a268e597010758.png
то всё работает.
В консоль выводит 5d0e4d85b7a9b996642016.png
Как передать параметры строки запроса в файл.ejs ?
  • Вопрос задан
  • 498 просмотров
Решения вопроса 1
@ned4ded
Верстка, Фронтенд
Доброго дня.

Я не эксперт ни в ноде, ни в экспрессе, но постараюсь пованговать чуточку насчет отсутствия вывода параметров в консоль. Учитывая, что вы используете middleware без вызова next(), и без отправки отклика назад, то у вас, должно быть, обработка запросов завершается на одном из первых mw - это, скорее всего, причина того, что при /create не выводится что-либо в консоль. Без нормальной ссылки на сорс сложно что-то утверждать.

НО! т.к. ваш вопрос никоим образом не связан с описанной вами ситуацией, то передать параметры запроса в файл темплейта можно следующим образом:
app.get('/create', (req, res) => {
	res.render('name_of_ejs_file', req.query)
})

Однако, у вас должен быть правильно настроен движок и цепочка mw должна доходить до обработчика, висящего на пути /create, в противном случае результата не будет.

Что, собственно, является базовой информацией по express, в связи с чем я предлагаю вам для начало ознакомиться с гайдами на официальном сайте, или сразу прочесть какую-нибудь книгу / пройти какие-нибудь курсы по nodejs + express. Мне кажется, у вас есть определенные проблемы с пониманием базовых концепций express, без знания которых будут возникать баги в самых простых вещах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы