Saltar al contenido

cómo publicar datos en node.js con content type = “application / x-www-form-urlencoded”

Solución:

request apoyos application/x-www-form-urlencoded y multipart/form-data cargas de formularios. Para multipart/related consulte la API de varias partes.

application / x-www-form-urlencoded (formularios codificados en URL)

Los formularios codificados en URL son simples:

const request = require('request');

request.post('http:/url/rest/login', {
  form: {
    username: 'xyzzzzz',
    password: 'abc12345#'
  }
})
// or
request.post('http:/url/rest/login').form({
  username: 'xyzzzzz',
  password: 'abc12345#'
})
// or
request.post({
  url: 'http:/url/rest/login',
  form: {
    username: 'xyzzzzz',
    password: 'abc12345#'
  }
}, function (err, httpResponse, body) { /* ... */ })

Ver: https://github.com/request/request#forms

O usando request-promise

const rp = require('request-promise');
rp.post('http:/url/rest/login', {
  form: {
    username: 'xyzzzzz',
    password: 'abc12345#'
  }
}).then(...);

Ver: https://github.com/request/request-promise#api-in-detail

Si está utilizando el paquete axios, aquí está la solución.

Si tiene los encabezados como Content-type: 'application/x-www-form-urlencoded'

luego llamarás a la API de publicación como

const response: any = await axios.post(URL, bodyData,  {
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                }
            });

URL es la URL de su API como http // YOUR_HOST / XYZ …, y

bodyData son los datos que desea enviar en la API de publicación,

Ahora, ¿cómo lo pasarás?

Suponga que tiene datos como objeto, por lo que debe codificarlos como url, permítame mostrarle

let data = {
username: name,
password: password
}

entonces tu bodyData será como

let bodyData = `username=${name}&password=${password}`

Esta es la forma en que puede pasar sus datos en el cuerpo si el encabezado es
Content-type: 'application/x-www-form-urlencoded'

Si tiene una gran cantidad de datos que no puede codificar manualmente, puede usar el módulo qs

ejecutar comando npm i qs y en tu archivo

const qs = require('qs');

...

let data = {
username: name,
password: password,
manyMoreKeys: manyMoreValues
} 
 
let bodyData = qs.stringify(data);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *