Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Problema al realizar consulta fetch JS a un JSON

Hola espero que alguien me pueda ayudar con este problema, ya me siento saturado con ese problema y no puedo continuar, resulta que a la hora de intentar tarer datos de un JSON con un fetch, este me da error, y no se a que se deba porque segun yo todo esta correcto, tengo un archivo de services.js en el cual se encuentra el siguiente codigo:

const verificarUsuario =()=>{
  return fetch(`http://localhost:3000/admin`).then(respuesta => respuesta.json).catch(err=>console.log(err))
}

export const gestionUsuarios ={
  verificarUsuario
}

El archivo JSON, ademas de este objeto tengo otro con productos

  "admin":[
    {
        "nombre":"administrador",
        "clave":"Admin2023@usagi",
        "correo":"administracion@usagi.co.cr",
        "telefono":"71402877"
        
    },
    {
      "nombre":"gestion",
      "clave":"Gestion2023@usagi",
      "correo":"gestion@usagi.co.cr",
      "telefono":"71402878"
    
  }
  ]

el Controllers.js desde donde hago la consulta

    const consulta = new Promise((resolve)=>{
        resolve(gestionUsuarios.verificarUsuario())
    })
    consulta.then(respuesta=>{
        console.log(respuesta)
    }).catch(error=> console.log(error))

Y el error que me muestra en consola del navegador

TypeError: Failed to fetch
    at Object.verificarUsuario (:5500/servicios/productos-servicios.js:51:10)
    at :5500/controllers/login_controllers.js:11:33
    at new Promise (<anonymous>)
    at HTMLFormElement.<anonymous> (:5500/controllers/login_controllers.js:10:22)
1 respuesta

Hola Estudiante,

El problema puede deberse a que estás intentando acceder a un recurso en localhost, pero el servidor no está respondiendo correctamente. Asegúrate de que el servidor esté en ejecución y que esté escuchando en el puerto 3000. También verifica que la ruta "/admin" sea correcta y que el archivo JSON esté disponible en esa ubicación.

Además, hay un pequeño error en tu código. En la función verificarUsuario, estás llamando a respuesta.json en lugar de respuesta.json(). Asegúrate de agregar los paréntesis para que se ejecute correctamente.

Aquí tienes un ejemplo de cómo podrías corregir el código:

const verificarUsuario = () => {
  return fetch(`http://localhost:3000/admin`).then(respuesta => respuesta.json()).catch(err => console.log(err))
}

export const gestionUsuarios = {
  verificarUsuario
}

Espero que esto solucione tu problema. Si sigues teniendo dificultades, asegúrate de revisar la configuración del servidor y la ruta del archivo JSON.

¡Saludos!

Si este post te ayudó, por favor marca como solucionado ✓. ¡Continúa con tus estudios!