Intenté crear una solicitud en javascript, que anteriormente funcionó bien con python.
la siguiente es una representación precisa del código que usé para publicar la solicitud con python :
url = 'https://website.com/api/e1' header = { 'authorization': 'abcd1234' } payload = { 'content': "text", } r = requests.post(url, data=payload,headers=header )Esto (arriba) funciona bien en python.
ahora lo que hice en javascript es lo siguiente:
payload = { "content": "this is text", }; fetch("https://website.com/api/e1", { method: "POST", headers: { "authorization": "abcd1234", }, body: JSON.stringify(payload), }); pero esto está devolviendo el error 400- Bad request
Cuando se usan parámetros de datos en python request.post, el Content-Type predeterminado es application/x-www-form-urlencoded (no pude encontrarlo en el documento, pero verifiqué la solicitud. Si lo sabe, deje un comentario). ).
Para lograr el mismo resultado con fetch , debe hacer lo siguiente.
const payload = { 'content': 'this is text', }; fetch('https://website.com/api/e1', { method: 'POST', headers: { 'authorization': 'abcd1234', }, body: new URLSearchParams(payload), });No necesita hacer este body: JSON.stringify(payload), sino que simplemente puede pasar la carga útil en el cuerpo como este body:payload