Estoy tratando de enviar una solicitud GET y recibir una respuesta del lado de mi cliente (reaccionar).
En mi servidor express:
app.get('/', function (req, res) { res.send('Hey, I came from the express server'); })Cuando uso cartero para enviar la solicitud, recibo una buena respuesta:
Así que no creo que el problema esté en el servidor.
Cuando trato de enviar la solicitud usando reaccionar así:
const getData = () => { fetch("http://localhost:8081", { method: "GET", mode: 'no-cors' }).then(response => console.log(response)); } Por alguna razón, el estado de respuesta es 0 y no 200 (recibo el código de estado 200 al verificar esta solicitud con el cartero y también en la pestaña de red de Chrome). Además, si trato de imprimir response.body , será nulo.
La respuesta:
body: (...) bodyUsed: false headers: Headers {} ok: false redirected: false status: 0 statusText: "" type: "opaque" url: "" [[Prototype]]: Response¿Qué estoy haciendo mal aquí?
Debe transferir su respuesta a un texto o json como:
const getData = () => { fetch("http://localhost:8081", { method: "GET", mode: 'no-cors' }).then(response => response.json()).then(data => console.log(data)) } Además .json() , existen aún más métodos. Todo está escrito en los documentos. Solo tienes que googlearlo:
https://developer.mozilla.org/en-US/docs/Web/API/Response#methods
Puede agregar una propiedad de proxy a su package.json :
"proxy": "http://localhost:8081", Y luego simplemente use / como su punto final de búsqueda.
fetch('/'...