Soy nuevo en javascript. Estaba tratando de hacer una llamada api. Mi código
const options = { method: 'GET', headers: { Authorization: 'Basic dW5kZWZpbmVkOnVuZGVmaW5lZA==', 'content-type': 'application/json', } }; fetch( 'https://www.eraktkosh.in/BLDAHIMS/bloodbank/nearbyBB.cnt?hmode=GETNEARBYSTOCKDETAILS&stateCode=21&districtCode=378&bloodGroup=all&bloodComponent=11&lang=0', options ) .then((response) => response.json()) .then((response) => console.log(response)) .catch((err) => console.error(err));pero me encontré con un error que decía
Error: Failed to fetch
- Esta llamada api funciona perfectamente con Hoppscotch
- Si trato de presionar la URL directamente en mi barra de URL, también funciona bien.
Cualquier ayuda es muy apreciada. Gracias desde Manoranjan
Por favor, no utilice el cuerpo con una solicitud de obtención. La solicitud GET está destinada únicamente a recopilar datos del servidor, lo que le permite enviar consultas, no datos en la solicitud. Simplemente elimine body:'false' o use body:false . La mejor manera es eliminar el cuerpo de su solicitud para que no se envíen entradas inesperadas a través de esta solicitud GET.
Como otras personas ya mencionaron, no puede pasar un cuerpo cuando realiza una llamada GET HTTP, en su lugar puede pasar Query Params
Observe esta parte en la URL
hmode=GETNEARBYSTOCKDETAILS&stateCode=21&districtCode=378&bloodGroup=all&bloodComponent=11&lang=0Todavía mirando el código, parece que el servidor tiene una política cors, mire este sandbox
Ver este codesandbox -> https://codesandbox.io/s/peaceful-mcclintock-exuzol?file=/src/index.js
Resumen:
OBTENER acepta cuerpo/carga útil, pero podría causar errores, consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET
Uso de la API web (nuevos encabezados, nueva solicitud) para realizar la llamada HTTP
Es mejor simplemente evitar enviar cargas útiles en solicitudes GET.