繁体   English   中英

为什么我登录时登录页面加载缓慢

[英]Why my log in page load slowly when i login

有人可以帮我设置登录路径吗? 当我点击login 时,页面加载缓慢,然后返回错误。

当我登录时,它永远不会转到我想要重定向到的页面或呈现该页面。出于隐私原因,我删除了一些代码。 你们可以使用自己的数据库进行测试。 任何帮助,将不胜感激。 PS,我已经更新了代码以尝试不同的方法

const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const { nextTick } = require('process');

const app = express();

app.use(bodyParser.urlencoded({extended: false}));

// mongoose.connect('mongodb+srv://apiuser:abcd1234@cluster0.rcyha.mongodb.net/users?retryWrites=true&w=majority');

// const userSchema = new mongoose.Schema({
//     email: String,
//     password: String
// });

let objUser = {
    username: 'aiman',
    password: '123'
}


// const User = new mongoose.model("User", userSchema);

app.get('/', function(req,res){
    res.sendFile(__dirname + '/home.html');
});

app.get('/loan', function(req,res){
    res.sendFile(__dirname + '/loanform.html');
})

app.get('/repayment', function(req,res){
    res.sendFile(__dirname + '/repayment.html');
});

app.get('/login', function(req,res){
    res.sendFile(__dirname + '/login.html');
});

app.get('/register', function(req,res){
    res.sendFile(__dirname + '/register.html');
});

app.post('/login', function(req,res, err){
    let username = req.body.username
    let password = req.body.password

    for(let i = 0; i < objUser.length; i++){
        if(objUser[i].username == username && objUser[i].password == password){
            res.redirect('/');
        } else{
            console.log(err);
        }
    }
});

app.listen(3001, function(req,res){
    console.log("Server started on port 3001");
});

问题是客户端正在等待响应,但是如果服务器端出现问题,您不会向他发送回复说“嘿这里出了问题”,如果一切顺利,您只会向客户端发送响应。

这意味着客户端将等待并等到他收到错误“超出最大执行时间”或类似的错误

app.post('/login', function(req,res){
    const email = req.body.email
    const password = req.body.password

   User.findOne({email: email}, function(err, foundUser){
       if(err){
           console.log(err);
           res.status(500).json({ message: "Something went wrong" })
       } else{
           if(foundUser){
               if(foundUser.password === password){
                   res.redirect('/repayment');
               }else {
                  //password not equal
                  res.status(400).json({ message: "Password arent equal" });
               }
           }else {
              //user not found 
              res.status(404).json({ message: "Cannot find user" })
           }
       }
   }); 
});

如果某些事情没有按照您的预期进行,您还需要发回响应。 与您的/register路线相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM