Configuré un servidor express muy simple que funciona con ejs como mi motor de visualización.
Mi página web tiene un formulario, y con solo presionar un botón html, la entrada se convierte en el objeto json userFormData . Tengo otro archivo node.js que maneja las interacciones con una API. En este archivo, tengo una función createNewFromUserFormData(userFormData) . Ahora me pregunto cuál sería la mejor manera de obtener mi userFormData desde el front-end, hasta el nodo js de manejo de API en el back-end. ¿Hay alguna forma de llamar a una función en el nodo desde el frontend index.ejs en la carpeta de vista?
Básicamente, mi pregunta es: ¿Cómo puedo exportar json desde la aplicación web a un servidor de nodo? ¿Hay alguna forma en que pueda llamar a una función en el backend desde un clic en onclick ?
EJS (JavaScript integrado) es un motor de plantillas que utiliza JavaScript estándar que dará como resultado un documento HTML estático (o parciales).
El manejo de cualquier evento (red, usuario...) iría a los script incrustados del documento HTML .
Debería poder adjuntar un controlador de eventos como la función onclick llamando a su API de back-end (con cualquier contenido que deba enviar como carga de solicitud).
A continuación se muestra un ejemplo de un archivo de plantilla EJS simple que utiliza JavaScript estándar para registrar un controlador de eventos de click que fetch una API remota (que debería ser su punto final de ruta interna) para mostrar su resultado:
<span id='link'> <% if (true) { %> <%= 'Guess what to do?' %> <% } %> </span> <p id="activity"></p> <script> const linkNode = document.querySelector('#link'); linkNode.addEventListener('click', () => { fetch('https://www.boredapi.com/api/activity') .then((res) => res.json()) .then((res) => { const textNode = document.querySelector('#activity'); textNode.textContent = res.activity; }); }); </script>