Hola, tengo un sitio web y actualmente se ejecuta en un paquete de alojamiento compartido, lo que significa que no tengo la capacidad de ejecutar node.js en el servidor, sin embargo, me preguntaba si podría usar JavaScript normal para cambiar un elemento determinado en mi página. (Cambie el elemento ap de Operacional a Fuera de línea y de verde a rojo y viceversa cuando reciba el comando arriba) Estoy usando healthchecks.io para enviar solicitudes de obtención o publicación a una URL cuando mi monitor se desconecta.
Si no puedo usar recibir solicitudes de javascript normal, ¿cómo podría cambiar esas pequeñas cosas en un sitio web usando algo como Express? Cada vez que miro, solo veo la capacidad de servir archivos estáticos o simplemente Hello World o algo así. ¿Cómo podría servir un archivo HTML con todo su CSS y demás mientras cambia solo una pequeña cosa?
Su pregunta es muy específica para su caso y no en un contexto más amplio del que todos puedan beneficiarse.
La pregunta que debe hacer sería más como "cómo actualizar el código HTML basado en la llamada AJAX" o algo similar.
En cualquier caso, dejaré esta respuesta aquí porque creo que puede ayudarte a alcanzar tu objetivo.
Creo que, en teoría, de lo que estás hablando son solicitudes "ajax" (JavaScript asíncrono).
Puede usar las devoluciones de llamada de estas solicitudes, tradicionalmente la parte "entonces" para actualizar su código html o actualizar, digamos, las clases CSS de un elemento.
Digamos que haces algo como:
fetch("http://example.com/movies.json") .then((response) => response.json()) .then((data) => { // you can console.log(data) here to see on the console, the structure of the received // object from the API call // this is just an example, based on the idea that the API would return a JSON object with // a property named "online" which would be a boolean (true or false) value if (data.online) { // if online is true add the CSS class "online" document.getElementById("IdOfElementToUpdate").classList.add("online"); }else{ // if online is false or not there, remove the CSS class "online" document.getElementById("IdOfElementToUpdate").classList.remove("online"); } });En este caso, tendría un estilo css predeterminado para el elemento (digamos para fuera de línea), y luego, cuando el elemento se agregue a la clase "en línea", tendría algunas reglas CSS para anular el estilo predeterminado.