我向mongodb发送了一个请求,根据电子邮件获取一些数据。我的客户端代码正在工作正常。代码在这里:
useEffect(()=>{
const email = user?.email;
// console.log(email)
const url = `http://localhost:5000/services?email=${email}`;
console.log(url)
fetch(url)
.then(res => res.json())
.then(data => setItems(data))
},[user])
console.log显示我所期望的数据
但是问题从后端开始。我尝试console.log来获取电子邮件和其他东西,但代码没有显示任何东西,甚至没有一个错误。以下是我用express为API编写的代码:
app.get('/services',async(req,res)=>{
const email = req.query.email;
console.log(email)
const query = {email:email};
const cursor = serviceCollection.find(query);
const item = await cursor.toArray();
res.send(item);
});
到目前为止,我还没有看到你的代码有任何问题。
您是否尝试直接从浏览器调用GET请求?
您可以检查req
和res
以查看到该端点(/services
)的传入数据
您也可以尝试在您的fetch
方法中添加请求选项
var requestOptions = {
method: 'GET',
redirect: 'follow'
};
const email = user?.email;
const url = `http://localhost:5000/services?email=${email}`;
fetch(url , requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
我建议你使用Postman来调用那个端点。它会更容易调试API使用第三方应用程序,如邮差。