在我的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