JavaScript POST
- 
          
            Usar XHR(XML HTTP Request)para enviar datosPOSTsin un formulario en JavaScript
- 
          
            Utilizar la API Fetchpara enviar datosPOSTsin un formulario en JavaScript
- 
          
            Utilice Navigator.sendBeacon()para enviar datosPOSTsin un formulario en JavaScript
 
Este tutorial enseña cómo enviar datos de publicaciones sin usar un formulario en JavaScript.
Usar XHR(XML HTTP Request) para enviar datos POST sin un formulario en JavaScript
    
XHR es un objeto que se utiliza para realizar solicitudes HTTP en JavaScript. Ayuda a interactuar con el servidor y a intercambiar los datos entre el cliente y el servidor. Podemos extraer datos de un servidor incluso sin actualizar toda la página. Permite a los usuarios continuar trabajando interrumpiendo solo una parte de una página. Podemos usar este método para enviar datos POST sin usar un formulario.
const URL = 'delftstack.com'
var xhr = new XMLHttpRequest();
xhr.open('POST', URL, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({name: 'DelftStack'}));
Utilizar la API Fetch para enviar datos POST sin un formulario en JavaScript
JavaScript Fetch API, como XHR, ayuda a enviar solicitudes HTTP al servidor. Pero XHR no hizo uso de las promesas y dio lugar a un código desordenado y sucio. Para usar la API de Fetch, tenemos que llamar al método fetch(). Acepta los siguientes parámetros:
- URL: la URL de la API desde la que solicitar datos.
- Un objeto: Es un objeto que especifica propiedades adicionales sobre el tipo de solicitud realizada. Tiene- 3propiedades:- method: Especifica el método como- GET,- POST, etc. Su valor debe ser- POSTen este caso ya que estamos haciendo una petición- POST.
- body: el objeto- bodycontiene los datos a enviar.
- headers: Es un parámetro opcional que nos ayuda a realizar diversas acciones sobre los encabezados de solicitud y respuesta- HTTP.
 
Después del método fetch(), especificamos el método de promesa then() y catch(). Si la promise devuelta por fetch() está resolved, entonces la función especificada en then() se ejecuta; de lo contrario, la promise es rejected y se llama a la función dentro de catch().
let data = {name: 'DelftStack'};
fetch('https://randomuser.me/api/?results=10', {
  method: 'POST',
  body: JSON.stringify(data)
}).then(res => {
  console.log('Promise resolved', res);
});
Utilice Navigator.sendBeacon() para enviar datos POST sin un formulario en JavaScript
El método Navigator.sendBeacon() ayuda a enviar datos a un servidor web a través de solicitudes HTTP de forma asíncrona. Su aplicación principal es enviar datos de análisis de sitios web al servidor, pero también se puede utilizar para enviar datos POST.
let data = {name: 'DelftStack'};
navigator.sendBeacon('https://randomuser.me/api/?results=10', data);
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn