需要帮助在节点js应用程序中进行路由

时间:2017-03-19 15:29:35

标签: javascript node.js routes

我有一个nodejs应用程序,我希望用户默认进入登录页面,如果他试图访问任何路由或任何文件(html / js)。如果凭据正确,他应该去/索引页面。我已在我的主app.js文件中添加了帖子调用,它正在邮递员工作,但不知道如何在我的节点应用程序中使用。

app.js

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

app.get('/index',function(req,res){
res.sendFile(path.join(__dirname+'/index/index.html'));//on success of login it should be here
});

app.post('/login',function(req,res){
var username = req.headers.uname;
var password = req.headers.pwd;
var uname = "*****";
var pwd = "*******";
var login = false;
if(uname == username && pwd == password){
    console.log("success");
    login = true;
}
else{
    console.log("fail");
    login = false;
}
if(login == true){
    res.send("Hello");//It should route to my /index page
}else{
    res.send("Bad luck"); //Invalid credentials
}
});

在登录文件夹中,我有我的login.html和我的登录名.js

的login.html

<html>
<head>
<script src="/login.js"></script>
</head>
<body>
<div>
Username:<input type="text" id="uname">
</div>
<div>
Password:<input type="text" id="pwd">
</div>
<div>
<button type="submit" onclick="login();">Login</button>
</div> 
</body>
</html>

如何调用登录功能,以便它使用我app.js上面的帖子调用,并且成功后转到索引页面,默认情况下也应该转到登录页面。可以在这里帮助

1 个答案:

答案 0 :(得分:0)

您需要在节点中使用中间件。在你的情况下,让我们称之为auth,它将检查凭证,如果它们是正确的,它将调用链中的下一个处理程序,如果不是,它将向客户端发出401(或403,如果被禁止)状态代码的响应