我正在使用 mongodb 來存盤詳細資訊。我知道已經有人問過這個問題,但這些解決方案對我不起作用。
const userSchema = {
email: {type: String, unique: true},
password: String
};
我使用了我在上面輸入的模式,它有點作業,我的意思是,它不會讓重復的條目插入到資料庫中。但我遇到的問題是,它沒有出現任何錯誤,所以我無法使用以下代碼。
if(err){
console.log("Repeated record");
}
由于沒有錯誤,頁面繼續加載,大約2-3分鐘,最后顯示“頁面不起作用,本地主機沒有發送任何資料”。有人可以讓我知道我應該采取什么方法來實作這一目標。
編輯:這是服務器代碼:
app.get("/", function(req, res){
res.render("home");
});
app.get("/login", function(req, res){
res.render("login");
});
app.get("/register", function(req, res){
res.render("register");
});
app.post("/register", function(req, res){
const newUser = new User({
email: req.body.username,
password: req.body.password
});
newUser.save(function(err){
if(err){
console.log(err);
}else{
res.render("login");
};
});
});
app.post("/login", function(req, res){
const username = req.body.username;
const password = req.body.password;
User.findOne({email: username}, function(err, foundUser){
if(err){
console.log(err);
}else{
if(foundUser){
if(foundUser.password == password){
res.sendFile(__dirname "/public/upload.html");
}
}
}
});
});
我已經安裝了 express、body-parser 和 ejs。Home、login 和 register 是擴展名 .ejs 的模板。
謝謝你。
uj5u.com熱心網友回復:
如果發生錯誤或其他事情,您必須向客戶端發送回應。否則你的函式不會發送任何資料。我在您的代碼中添加了一些注釋行,標記為--> Here. 在這些函式中使用res.send()或res.render()向您的客戶端發送回應。
另外添加狀態代碼可能有助于理解錯誤代碼(只是建議)。
app.post("/register", function(req, res){
const newUser = new User({
email: req.body.username,
password: req.body.password
});
newUser.save(function(err){
if(err){
console.log(err);
// res.status(422).send(err) or res.render(errorPage) --> Here
}else{
res.render("login");
};
});
});
app.post("/login", function(req, res){
const username = req.body.username;
const password = req.body.password;
User.findOne({email: username}, function(err, foundUser){
if(err){
console.log(err);
// res.status(500).send(err) or res.render(errorPage); --> Here
}else{
if(foundUser){
if(foundUser.password == password){
res.sendFile(__dirname "/public/upload.html");
} else {
// res.status(401).send('Some error message') res.render(errorPage); --> And here
}
}
}
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/322889.html
標籤:javascript 节点.js MongoDB 表达 网络部署
