Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

694
Vistas
Cómo recibir datos POST desde un formulario/botón en HTML en node.js

Estoy trabajando en un pequeño proyecto apasionante y, hasta ahora, la mayor parte de mi trabajo js ha sido del lado del cliente. Estoy empezando a profundizar en el trabajo del lado del servidor ahora, pero estoy un poco perdido en este momento.

Básicamente, tengo una pregunta doble.

 <form action="/receive" method="post"> <button class="btn btn-primary results-share-results" data-bs-dismiss="modal"> </form>
  1. En general, ¿cómo tomaría un formulario como este de arriba y recibiría su solicitud POST en un programa node.js? Creo que mi bloqueo principal es como "dónde" va esta solicitud POST. ¿A qué lo estoy señalando? ¿Y qué en el programa del nodo lo está recibiendo?

  2. Más específicamente para mi proyecto, me gustaría que ese botón active un POST que envíe datos que he almacenado en un objeto a un script de nodo. Este script recibiría estos datos y luego los escribiría en un archivo JSON o en una base de datos (todavía no estoy en el nivel de la base de datos, por lo que un archivo JSON servirá por ahora).

¡Gracias de antemano!

Honestamente, en su mayoría he buscado a tientas algunos videos de YouTube. Puedo entender cómo funciona una solicitud POST/GET para una API, pero me cuesta entender cómo funcionan las llamadas a un archivo local o a una base de datos.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esta no es una pregunta fácil de responder, pero espero poder orientarte en la dirección correcta. Lo primero que debe saber es que NodeJS solo tiene una API mínima. Escribir una API web completa en Node no es un ejercicio que recomendaría, especialmente si es nuevo en el desarrollo de back-end.

Para escribir una API funcional en Node.js, le recomiendo que use un marco como ExpressJS. Este marco es lo suficientemente simple de usar y le ahorrará mucho trabajo que tendría que hacer manualmente si usa la API nativa de Node.js.

Un ejemplo simple de express:

 const express = require('express); const app = express(); app.get('/receive', function(req, res) { //handle your request here. } ); app.listen(3000);

Ahora, cuando su frontend envíe el formulario anterior usando un verbo HTTP GET, el backend del nodo lo manejará llamando a la función pasada como segundo argumento a app.get(). El parámetro req tendrá los datos enviados y el parámetro res tiene funciones que puede usar para enviar una respuesta JSON a la interfaz.

Tenga en cuenta que estoy usando un verbo GET en lugar de un POST. Recibir una publicación en realidad requiere el uso del módulo npm del analizador corporal como un middleware. El middleware son funciones que actúan sobre la solicitud antes de llamar a su función de controlador. Como esta respuesta no pretende ser un tutorial, dejaré el trabajo de investigar cómo usar el analizador corporal para el OP. Hay un montón de ejemplos por ahí.

Recuerde que su función de controlador debe llamar a res.json() o a uno de los otros métodos en el objeto res para responder al cliente; de lo contrario, el navegador esperará "para siempre" (hasta que se agote el tiempo de espera de la solicitud).

Bonificación: use el nodo writeFileSync() para escribir su archivo JSON en el disco. Sin embargo, para una aplicación de producción, use la versión asíncrona de esta función.

Con suerte, esto al menos lo orientará en la dirección correcta. ¡Bienvenido al lado backend del desarrollo!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda