logout logic
in Programming on NodeJS
NodeJS
modify login page logic
login.ejs
xhr.addEventListener('load', function(){
var result = JSON.parse(xhr.responseText);
var resultDiv = document.querySelector(".result");
if(result.email) {
// if email exists, redirect to /main page (login successful)
window.location.href="/main";
}
// if no result, print message and link to Sign up
else if (xhr.status === 401) resultDiv.innerHTML = result +
"<div class='signup'><a href='/join'>Sign up</a></div>"
else resultDiv.innerHTML = result;
console.log(xhr.responseText);
main.js in folder main
router.get('/', function(req,res){
console.log('main.js is loaded', req.user)
// onle can access when session value exists (login)
var id = req.user;
// if no id value, redirect to login page.
if(!id) res.render('login.ejs');
// if id value exists, render main.ejs page.
res.render('main.ejs', {'id' : id})
});
main.ejs in folder views
<div><a href="/logout">logout</a></div>
index.js
var logout = require('./logout/index')
router.use('/logout',logout)
create index.js in folder logout
var express = require('express')
var app = express()
var router = express.Router();
router.get('/', function(req, res){
// session expire
req.logout();
// redirect to login page
res.redirect('/login');
});
module.exports = router;