У меня есть файл index.html
в котором создана обычная html-страница с ‹input id="name"›
. Так же у меня есть файл server.js
в котором запускается сервер на express по адресу 127.0.0.1:3000
.
Как мне работать с DOM структурой файла index.html из файла server.js. Например, мне нужно считать значение с ‹input id="input-field"›
.
Поскольку index.html отображается на стороне клиента и значение в ‹input id="input-field"›
присутствует на стороне клиента, то и работать с ним надо на стороне клиента - в браузере.
Вам надо создать и добавить на страницу JavaScript код, который будет обрабатывать эти данные и пересылать вам на сервер используя стандартный механизм из http протокола.
Добавить скрипт можно используя тэг script, а пересылать данные можно используя XMLHttpRequest
Как на счет Cheerio? Загружаешь свой HTML и работаешь как с Jquery на клиенте.
https://cheerio.js.org/
Чтобы передать значение поля ввода с клиента (index.html) на сервер (server.js) можно сделать submit формы.
Пример public/index.html:
<html>
<body>
<form action="/form_test" method="get">
<input type="text" id="input-field" name="input-field" title="Тест параметра формы">
<input type="submit" value="Отправить">
</form>
</body>
</html>
Пример server.js:
const express = require('express');
const app = express();
app.use('/', express.static(__dirname + '/public/'));
app.get('/form_test', (req, res) => {
res.send(`input-field value is: ${req.query['input-field']}`);
});
app.listen(3000, () => {
console.log('Example app listening on port 3000!')
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть такая проблема: при загрузке страницы, блоки slick slider отображаются друг под другом и только после полной загрузки выстраиваются как положено
Заметил интересный баг, на Android не работает множественный выбор в <input type="file" name="file[]" accept="image/*" multiple="true"> причем только с включенным атрибутом...