如何解决如何在本机使用中从数据库中获取数据?
我正在制作一个博览会 MERN 应用程序,在登录组件中,当用户单击登录按钮并验证/检查该用户电子邮件和密码是否存在于数据库中时,我试图从数据库中获取数据或不。我正在使用快速路由器并尝试在 axios 中获取数据。但问题是它给出了一个错误“错误:请求失败,状态码为 404”。下面是我的代码:
routeSignIn.js
const express = require("express");
const router = express.Router();
const User = require("../models/User");
router.get("/",async (req,res) => {
try {
const getUser = await User.find();
res.json(getUser);
} catch (err) {
res.send("Error: " + err);
}
});
module.exports = router;
Server.js
const express = require("express");
const app = express();
const mongoose = require("mongoose");
const url = "mongodb://localhost/my-project1";
mongoose.connect(url,{ useNewUrlParser: true });
const con = mongoose.connection;
app.use(express.json());
const routeSignIn = require("../route/routeSignIn");
app.use("/getUser",routeSignIn);
con.on("open",() => {
console.log("Database is connected...");
});
const server = app.listen(3000,() => {
const { address,port } = server.address();
console.log(`Server started. Listening at
http://${address}:${port}`);
});
登录.js
const [data,setData] = useState({
email: "",password: "",});
const loginHandle = (email,password) => {
//I believe this is where the problem is
const foundUser = () => {
axios
.get("http://192.168.29.7:3000/getUser")
.then((res) => {
console.log(res);
setData({
email: res.email,password: res.password,});
})
.catch((err) => {
console.log("Error fetching data: ",err);
});
return email == email && password == password;
};
if (data.email.length == 0 || data.password.length == 0) {
Alert.alert("Email or password field cannot be empty.");
return;
}
if (foundUser().length == 0) {
Alert.alert("Invalid User,Username or password is incorrect");
return;
}
signIn(foundUser());
};
return(
<TouchableOpacity
onPress={() => {
loginHandle(data.email,data.password);
}}
>
)
App.js
const authContext = useMemo(
() => ({
signIn: (foundUser) => {
const userEmail = foundUser.email;
dispatch({ type: "LOGIN",email: userEmail });
},
上面代码中发生的事情是,当用户单击登录按钮时,loginhandle 函数(在 SignIn.js 中)被调用,数据将在一个名为 foundUser 的函数中获取,该函数将传递给 signIn (foundUser) 位于 useMemo 内的 apps.js 中... 非常感谢...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。