Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

514
Vistas
Cuando intento obtener datos en mi proyecto React, aparece este error: Uncaught (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Quiero obtener datos filtrados de MongoDb usando un correo electrónico específico en mi proyecto de reacción. Entonces, creo una solicitud HTTP usando un correo electrónico y luego trato de usar los datos, luego aparece el siguiente error:

GET http://localhost:5000/bloodRequest/amin@gmail.com 404 (No encontrado) No capturado (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Mi código de solicitud del lado del cliente:

 useEffect(() => { fetch(`http://localhost:5000/bloodRequest/amin@gmail.com`) .then((res) => res.json()) .then((data) => setRequests(data)); }, [requests]);

Mi código del lado del servidor:

 app.get("/donateBlood/:email", async (req, res) => { const email = req.params.email; const query = { email: email }; const cursor = donateBloodsCollection.find(query); const result = await cursor.toArray(); res.json(result); });

Pero cuando cambio la sintaxis de la solicitud HTTP y uso el correo electrónico en medio del enlace HTTP, funciona bien. ejemplo:

Código del lado del cliente:

 useEffect(() => { fetch(`http://localhost:5000/amin@gmail.com/bloodRequest`) .then((res) => res.json()) .then((data) => setRequests(data)); }, [requests]);

código del lado del servidor:

 app.get("/:email/donateBlood", async (req, res) => { const email = req.params.email; const query = { email: email }; const cursor = donateBloodsCollection.find(query); const users = await cursor.toArray(); res.json(users); });

En ese caso, funciona correctamente, no sé por qué. ¿Puedes explicarlo, por favor?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La llamada de recuperación está llamando a una URL /bloodRequest/amin@gmail.com , la definición de la API del servidor correspondiente tiene /donateBlood/:email , por lo que se esperaba el error 404 que recibió.

GET http://localhost:5000/bloodRequest/amin@gmail.com 404 (No encontrado) No capturado (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Intente cambiar la URL del lado del cliente a /donateBlood/amin@gmail.com o la API del lado del servidor a /bloodRequest/:email .

PD: Básicamente, el código que está intentando es sintácticamente válido. Debe haber fallado debido a errores tipográficos en la URL o no reiniciar el servidor después de un cambio en particular. Puedo ver la misma discrepancia de URL en el código de trabajo que ha publicado, por lo que también debería haber arrojado 404. Publique el código exacto que probó si aún no funciona.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda