在我的nodejs应用程序中,我有路由/登录,它使用sendFile来显示我的html文件,它需要名称和密码。在我的服务器端app.js中,我写了post调用以取名和password.Now从我的HTML IAM做ajax调用来调用post调用,如果成功,我想去/管理页面。对于这个我打算在我的休息中调用自己res.send()。但Iam不知道如何发送HTML文件..节点js应用程序中的小问题
app.get('/', function(req, res, next) {
res.sendFile(__dirname + '/public/views/home.html');
});
app.get('/login', function(req, res, next) {
res.send('respond with a resource');
res.sendFile(__dirname + '/public/views/login.html');
});
app.get('/admin', function(req, res, next) {
res.sendFile(__dirname + '/public/views/admin.html');
});
app.post('/verifylogin',function(req,res){
var username = req.headers.uname;
var password = req.headers.pwd;
var uname = "admin";
var pwd = "admin";
var login = false;
if(uname == username && pwd == password){
console.log("success");
login = true;
} else {
console.log("fail");
login = false;
}
if(login == true){
res.send();//how can I take to /admin here
} else {
res.send("Bad luck");
}
});
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function login(){
var uname = document.getElementById('uname').value;
var pwd = document.getElementById('pwd').value;
$.ajax({
url : '/verifylogin',
type : "POST",
headers : {
"uname":uname,
"pwd" :pwd
}
});
console.log("name",uname);
}
</script>
<h1>Login</h1>
<p>
<label class="control-label">Username</label>
<input type="text" placeholder="Username" id="uname"/>
</p>
<p>
<label class="control-label">Password</label>
<input type="password" placeholder="Password" id="pwd"/><br/>
</p>
<p>
<button type="submit" class="btn btn-primary" onclick="login()">Login</button>
</p>
如果登录成功哪能路线/ admin ..有人可以帮忙!
你对理论缺乏。您应该使用cookies检查用户是否已登录。如果他在登录页面并拥有登录cookie,则应将其重定向到/ admin,如果不是 - 显示登录视图。当你打电话后,你保存登录到cookie,然后用ok或者ko回答,如果你登录了。在前端如果你确定你做“window.reload()”例如.. – Maikal
请编辑标题你的问题是你的问题的主题,而不是技术的一般领域。如果所有的node.js问题都有“node.js问题”的主题,你可以用它来成像吗?这类主题毫无意义。标签已经将问题标识为node.js.主题应该告诉我们你有什么类型的问题,而不是什么运行时正在使用。 – jfriend00