Framework Angular

Enviar JSON de Angular a Node: ejemplo

En este post te mostraré, de manera simple, cómo enviar datos codificados como JSON desde Angular a un servidor con node.

Vamos a usar express en el lado del servidor; y del lado del cliente simplemente fetch.

Preparando servidor

En el lado del servidor necesitamos usar el middleware de JSON que convertirá la petición a datos JSON. Comenzamos importando a express e instanciando nuestra app:

const express = require("express");
const app = express();

Luego usamos el middleware.

app.use(express.json())

Con eso, cada que express detecte que una petición tiene Content-Type en application/json dentro de un encabezado, intentará interpretar los datos JSON.

Haciendo petición

Ahora desde Angular simplemente usamos lo siguiente:

const datos = {
  nombre: "Luis Cabrera Benito",
  web: "parzibyte.me",
};
const respuestaRaw = await fetch("http://sitio.com", {
  body: JSON.stringify(datos), // <-- Aquí van los datos
  headers: {
    "Content-Type": "application/json", // <-- Importante el encabezado
  },
  method: "POST",
});
const jsonDecodificado = await respuestaRaw.json();
console.log(jsonDecodificado);

Como ves usamos fetch, enviamos el encabezado y además los datos codificados como JSON. Si quieres puedes usar await y si no, simplemente promesas.

Nota: si quieres usar await asegúrate de declarar tu función (dentro del componente de Angular) async; así:

public async tu_función_en_angular(){
  // Aquí el código
}

Leyendo datos en el servidor

Finalmente veamos cómo recibimos los datos con Node. Como puedes ver anteriormente enviamos un payload con nombre y web. Ahora podemos leerlos dentro de una configuración de rutas así:

app.post("/usuario", async (req, res) => {
  // Dentro de req.body tenemos a todo el objeto. Podemos acceder a las claves del mismo como
  // lo enviamos desde el cliente ;)
  const nombre = req.body.nombre;
  const web = req.body.web;
  // Aquí hacer algo con las dos variables y responder la petición
});

En resumen

Preparamos a express para que lea JSON. Luego de eso podemos leer los datos enviados desde el cliente a través de req.body. Recuerda que req en este caso es la primer variable que se recibe en el callback cuando se configura una ruta, y representa la petición.

Después en el lado del cliente usamos fetch, establecemos el encabezado para indicar que enviamos un JSON y enviamos en el body el JSON codificado con JSON.stringify.

Este ejemplo funciona perfectamente para Angular, no importa si usas JavaScript o TypeScript.

Con esto puedes enviar todo tipo de datos complejos: objetos, simples variables, arreglos de objetos, objetos con arreglos, etcétera.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.