我已经检查了已经存在的解决方案,但没有帮助
问题:Uncaught(in promise)TypeError:$.data.filter不是一个函数(react和express)而且,它在localhost上工作得很好,但是当我让它活起来时,它显示了上面的错误
前端代码
useEffect(() => {
axios.get("/people").then((res) => {
const offlinePeopleArr = res.data
.filter((p) => p._id !== id)
.filter((p) => !Object.keys(onlinePeople).includes(p._id));
const offlinePeople = {};
offlinePeopleArr.forEach((p) => {
offlinePeople[p._id] = p;
});
setOfflinePeople(offlinePeople);
});
}, [onlinePeople]);
后端代码
app.get("/people", async (req, res) => {
const users = await UserModel.find({}, { _id: 1, username: 1 });
res.json(users);
});
我试图找到解决办法,但没有一个对我有用。
当我运行console.log(res.data)时,它显示this in response
1条答案
按热度按时间ni65a41a1#
这里,res的值不是数组。它在本地工作,因为它采用相对路径。当部署代码时,相对路径可能无法以精确的方式工作。
1.尝试在浏览器中点击get URL的部署变体,看看是否会得到响应。
1.检查DB,如果你有那个对象。
1.另外,处理@Jaswinder的回答中提到的失败场景。