Ответ для Node.js - Как отправить данные из html в экспресс решает мою проблему, используя другой порт для сервера. Мне было интересно, как живые веб-сайты, например этот веб-сайт (панель поиска stackoverflow), используют действие формы, которое представляет собой каталог («/ search») вместо порта, аналогичного ответу по ссылке? Является ли node.js неспособным прослушивать каталог или я не знаю, как работают http-запросы?
Я не очень понимаю ваш вопрос: в чем проблема отправлять данные из браузера на любой сервер и обрабатывать все, что сервер отправляет в качестве ответа?
@NicoHaase Мой вопрос: если бы у меня была html-страница, обслуживаемая по адресу 127.0.0.1:8000, можно ли отправить форму на 127.0.0.1:8000/search или мне нужно выбрать другой порт, чтобы мой сервер node.js мог слушать к запросу.
Это возможно, конечно. Все зависит от вашей индивидуальной конфигурации
Вы прослушиваете порт для HTTP-запросов. Ваш внешний интерфейс будет выполнять запрос ajax (асинхронный javascript и xml) в вашем коде javascript для маршрута на вашем сервере через порт.
Если вам нужен хороший инструмент для создания простых ajax-запросов, вы можете использовать jQuery или Axios и посмотреть, как сделать ajax с этими библиотеками.
На заднем конце ваш сервер прослушивает порт для запросов к маршрутам. Настройте маршрут (то, что вы назвали каталогом), чтобы отвечать на запросы к определенному URL-адресу. Упомянутый вами пример показал:
app.post('/myaction', function(req, res) {
res.send('You sent the name "' + req.body.name + '".');
});
Express — это бэкенд-фреймворк для выполнения самых разных задач, но чаще всего для обработки HTTP-запросов и рендеринга HTML. Итак, на внешнем интерфейсе, когда вы делаете запрос ajax к /myaction, вы можете ответить следующим образом:
app.post('/myaction', function(req, res) {
res.render('templateFileToRender', { dataToDynamicallyTurnIntoHTML: data } );
});
Express отобразит ваш файл шаблона, затем отправит HTML на ваш внешний интерфейс, и вы обновите свой интерфейсный div или что-то еще с помощью визуализированного HTML.
Если вы хотите больше информации, пожалуйста, оставьте комментарий
Спасибо! Я проверю внешние библиотеки и посмотрю, есть ли у меня еще вопросы.
Попробуйте fs.watch и отправьте данные о событиях с помощью веб-сокетов или обновления следующей страницы в /search . nodejs.org/docs/latest/api/fs.html