Tengo un archivo de índice en el que hay una API para obtener un producto de la base de datos con el ID de producto. Pasé un ID de producto específico (copiado y pegado de Mongo Atlas) al cartero para probar la API y funcionó correctamente y trajo el producto. Aquí está la prueba del cartero que puede ver que la API trae el producto.
Aquí está la obtención frontal de la API
React.useEffect(() => { try { console.log(productId) console.log("I am in try block") fetch("http://10.0.2.2:3000/fetchtproduct/${ productId }") .then((res) => res.json()) .then(data => { console.log(typeof (data)) console.log(data); setData(data); console.log(data.name) }) } catch (error) { console.log("couldn't fetch data from your API Sooraj!") console.log(error); }}, [])Y aquí está la API en sí
router.get('/fetchtproduct/:id', async (req, res) => { try { const product = await products.findById(mongoose.Types.ObjectId(req.params.id)) //find(); res.send(product) } catch (error) { return res.status(442).send(error); console.log("Could not get product"); }})Ya probé findOne, findById, find, JSON.strinigify() Por favor, ayúdenme a solucionar este problema. He perdido mucho tiempo encontrando errores.
El error que muestra es
Unidentified Token '<' JSON Parse ErrorY a veces muestra un objeto nulo como este
62fd0148877cab7bc5011753 LOG [] LOG 62fd0148877cab7bc5011753 LOG I am in try block LOG object LOG {} LOG 62fd0148877cab7bc5011753 LOG {} LOG undefinedHola amigo, solo cambia las comillas dobles en buscar a ``
Me gusta
try { console.log(productId) console.log("I am in try block") fetch(`http://10.0.2.2:3000/fetchtproduct/${productId}`) .then((res) => res.json()) .then(data => { console.log(typeof (data)) console.log(data); setData(data); console.log(data.name) }) } catch (error) { console.log("couldn't fetch data from your API Sooraj!") console.log(error); }}, [])