Estoy tratando de obtener datos del servidor a mi lado del cliente en función de un valor. La dirección de correo electrónico de esos datos coincidió, solo quiero que los obtengan. Pero no puedo obtener los datos y en el lado del servidor el valor del correo electrónico se muestra indefinido. Mi código del lado del cliente se proporciona a continuación, donde intento obtener datos y enviar un correo electrónico al lado del servidor.
Este es mi código del lado del cliente:
const Myproducts = () => { const [user] = useAuthState(auth); const [myproducts, setMyproducts] = useState([]); useEffect(() => { const email = user?.email; fetch(`http://localhost:5000/useritems?email=${email}`) .then(res => res.json()) .then(data => setMyproducts(data)) }, []); } Y mi código del lado del servidor se proporciona a continuación, donde intento obtener datos de mongodb y console.log console.log(email) . Pero el correo electrónico se muestra undefined .
Este es mi código del lado del servidor:
app.get('/useritems', async (req, res) => { const email = req.query.email; console.log(email); const query = { email: email }; const cursor = productCollection.find(query); const products = await cursor.toArray(); res.send(products); });¿Qué le pasa a mi código? ¿Como puedó resolver esté problema? ¿Algún consejo para solucionar este problema?
De acuerdo con esta respuesta https://stackoverflow.com/a/6912872/15892381 , puede acceder a req.query en las aplicaciones base express en Node.Js, solo puede usar el analizador de URL del módulo de URL y leer la consulta desde eso:
const url = require('url'); const url_parts = url.parse(request.url, true); const query = url_parts.query;