代码不工作,因为我想根据过滤器获取数据



我向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请求?

您可以检查reqres以查看到该端点(/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使用第三方应用程序,如邮差。

相关内容

  • 没有找到相关文章

最新更新