gpt4 book ai didi

javascript - 数组 Find() 方法在搜索有关 URL 参数的数据时始终返回 'undefined'

转载 作者:行者123 更新时间:2023-12-05 04:40:23 26 4
gpt4 key购买 nike

我想显示整个数据数组中的数据,它应该满足请求的 id 与数据的 id 匹配的条件。但是每次我尝试下面的代码时,我只会得到“未定义”作为 find 方法的输出。

代码


    import express from 'express';
import data from "./data.js"

const app=express();
app.get('/products/api/:id',(req,res)=>{
const product = data.products.find((x) => x.id === req.params.id);
if (product) {
res.send(product)
}
else{
res.status(404).send({message:`Product Not Found${req.params.id}`});
}
}) app.get('/products/api',(req,res)=>{
res.send(data.products)
}) app.get('/',function(req,res){
res.send("server is ready")
}) const port=process.env.PORT || 5000 app.listen(5000,()=>{
console.log(`serve at http://localhost:${port}`);
})

最佳答案

您的代码缺少主体解析中间件。尝试添加一个

app.use(express.json({ extended: true })) 在你的路线之前。

同时请检查 data.products.find((x) => x.id === req.params.id); 中的 id 是否属于输入字符串。它可能是 numberObjectId Mongoose 对象 ID。

关于javascript - 数组 Find() 方法在搜索有关 URL 参数的数据时始终返回 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70285734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com