Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

501
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!