Estoy tratando de obtener un servidor web Node.js para escribir una página web en una URL específica en el host local y usar la entrada de un formulario dentro de esa página web para leer cosas de una base de datos SQL y actualizar cada dos segundos. La lógica dicta que la comunicación de extremo a extremo entre la página web de un cliente y un servidor debe manejarse a través de WebSockets. Sin embargo, el sentido común dicta que hacer que la página web de un cliente consulte la URL a la que se accede actualmente probablemente no sea el método correcto para manejar las cosas. Además, no parece haber ninguna forma de que yo pase los resultados de la consulta SQL al script incrustado de la página web. ¿Existe algún método para comunicarse hacia y desde una página web y el servidor que la aloja sin recargar la página cada vez?
Aquí está el código que carga la página web en el puerto localhost especificado.
var server = http.createServer(function (req, res) { var data = fs.readFileSync(__dirname + "/public/index.html"); res.writeHead(200, { 'Content-Type': 'text/html' }); res.write(data); let id = url.parse(req.url, true).query["id"]; if (id) console.log(id); // would be replaced with other things res.end(); }).listen(port);Aquí está el formulario dentro del HTML que está destinado a enviar inicialmente la identificación al servidor (recarga la página, pero no parece haber una manera de manejar esto con PUBLICAR la identificación, solo OBTENER):
<form id="id_form" method="get" autocomplete="on"> <label for="id">BATMON ID: </label> <input type="text" id="id" name="id" autofocus><br> <input type="submit"> </form>**EDITAR: ** Para aclarar, el comportamiento previsto es que la página se cargue normalmente, luego, cuando ingreso un número de identificación en el formulario, la página web puede enviarlo al servidor. Cuando el servidor recibe la identificación, debe comenzar a usarla periódicamente en una consulta SQL (estoy usando ps) y enviar los resultados de esa consulta SQL a la página web.
Lo descubrí, puede usar WebSockets para consultar el servidor que aloja la página web que está usando. Puede parecer algo extraño, pero es la forma más sencilla de hacerlo.