Envío de datos con XMLHttpRequest post

Desbloquea el potencial del desarrollo web con XMLHttpRequest POST. Aprende a crear apps atractivas, integrar APIs, habilitar colaboración en tiempo real y más.

Daniel Costa

Daniel Costa

2 July 2025

Envío de datos con XMLHttpRequest post

En el mundo del desarrollo web moderno, el intercambio asíncrono de datos entre el cliente y el servidor es un aspecto crucial para la creación de aplicaciones dinámicas y con buena capacidad de respuesta. Una de las herramientas fundamentales que habilitan esta funcionalidad es el objeto XMLHttpRequest, específicamente su método POST. Si bien la API XMLHttpRequest puede parecer anticuada en la era de las API más modernas como Fetch y Axios, comprender sus principios básicos sigue siendo esencial para cualquier desarrollador de JavaScript.

El método XMLHttpRequest POST te permite enviar datos de forma asíncrona a un servidor sin actualizar toda la página web. Este enfoque mejora la experiencia del usuario al proporcionar un flujo de información más fluido y eficiente, lo que en última instancia conduce a un mejor rendimiento general de la aplicación.

Configuración de un XMLHttpRequest POST


Antes de sumergirnos en el código, revisemos el proceso de configuración básico para una solicitud XMLHttpRequest POST:

  1. Crea una nueva instancia de objeto XMLHttpRequest.
  2. Define el método de solicitud (POST) y el punto final de la URL.
  3. Configura los encabezados de la solicitud, si es necesario.
  4. Define la función para manejar la respuesta del servidor.
  5. Envía la solicitud con la carga útil de datos.
// 1. Create a new XMLHttpRequest instance
const xhr = new XMLHttpRequest();

// 2. Define the request method and URL
xhr.open('POST', '/api/endpoint', true);

// 3. Set request headers (if needed)
xhr.setRequestHeader('Content-Type', 'application/json');

// 4. Define the response handler
xhr.onreadystatechange = function() {
  if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    // Handle the server response
    console.log(xhr.responseText);
  }
};

// 5. Send the request with data payload
const data = JSON.stringify({ name: 'John Doe', email: 'john@example.com' });
xhr.send(data);

En el ejemplo anterior, creamos una nueva instancia de XMLHttpRequest, definimos el método POST y el punto final de la URL, establecemos los encabezados de solicitud apropiados y manejamos la respuesta del servidor en el controlador de eventos onreadystatechange. Finalmente, enviamos la solicitud con la carga útil de datos en formato JSON utilizando el método send().

Manejo de respuestas y manejo de errores


Si bien enviar la solicitud es crucial, manejar adecuadamente la respuesta del servidor es igualmente importante. El controlador de eventos onreadystatechange te permite supervisar la progresión de la solicitud y tomar las medidas adecuadas en función de las propiedades readyState y status.

xhr.onreadystatechange = function() {
  if (xhr.readyState === XMLHttpRequest.DONE) {
    if (xhr.status === 200) {
      // Successful response
      console.log(xhr.responseText);
    } else {
      // Error handling
      console.error('Request failed. Status:', xhr.status);
    }
  }
};

En el ejemplo anterior, verificamos el readyState para asegurarnos de que la solicitud se haya completado (XMLHttpRequest.DONE) y luego examinamos la propiedad status para determinar el éxito o el fracaso de la solicitud. Un código de estado de 200 generalmente indica una respuesta exitosa, mientras que otros códigos de estado pueden indicar varias condiciones de error.

Envío de datos de formulario


Si bien los ejemplos anteriores se centraron en el envío de datos JSON, XMLHttpRequest también te permite enviar datos de formulario sin problemas. Esto es particularmente útil cuando se trabaja con formularios HTML tradicionales o cuando se trata de cargas de archivos.

const formData = new FormData();
formData.append('name', 'John Doe');
formData.append('email', 'john@example.com');
formData.append('file', fileInput.files[0]);

xhr.open('POST', '/api/endpoint', true);
xhr.send(formData);

En este ejemplo, creamos una instancia de FormData y agregamos los campos del formulario utilizando el método append(). Incluso podemos incluir cargas de archivos agregando el objeto File de un elemento <input type="file">. Finalmente, enviamos el objeto FormData directamente usando el método send().

Generar código XMLHttpRequest con Apidog

Apidog es una plataforma de desarrollo de API colaborativa todo en uno que proporciona un conjunto de herramientas completo para diseñar, depurar, probar, publicar y simular API. Apidog te permite crear automáticamente código XMLHttpRequest para realizar solicitudes HTTP.

button

Aquí está el proceso para usar Apidog para generar código XMLHttpRequest:

Paso 1: Abre Apidog y selecciona nueva solicitud

Paso 2: Ingresa la URL del punto final de la API al que deseas enviar una solicitud, ingresa cualquier encabezado o parámetro de cadena de consulta que desees incluir con la solicitud, luego haz clic en "Diseño" para cambiar a la interfaz de diseño de Apidog.

Paso 3: Selecciona "Generar código de cliente" para generar tu código.

Paso 4: Copia el código generado y pégalo en tu proyecto.

Usando Apidog para enviar solicitudes HTTP

Apidog ofrece varias funciones avanzadas que mejoran aún más su capacidad para probar solicitudes HTTP. Estas funciones te permiten personalizar tus solicitudes y manejar escenarios más complejos sin esfuerzo.

button

Paso 1: Abre Apidog y crea una nueva solicitud.

Apidog

Paso 2: Encuentra o ingresa manualmente los detalles de la API para la solicitud POST que deseas realizar.

Apidog

Paso 3: Completa los parámetros requeridos y cualquier dato que desees incluir en el cuerpo de la solicitud.

Apidog

Conclusión

Como puedes ver, XMLHttpRequest POST es más que una simple herramienta técnica: es un cambio de juego que abre un mundo de posibilidades para los desarrolladores web. Ya sea que estés creando interfaces de usuario dinámicas, integrándote con API potentes o creando la próxima generación de experiencias web inmersivas, XMLHttpRequest POST es tu arma secreta.

Explore more

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

15 April 2025

Cómo usar n8n con servidores MCP

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

14 April 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

11 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs