2017-10-19 53 views
-1

我是新来的节点js,我试图创建一个简单的登录页面。但是当我运行我的代码时,它将我带到登录页面好吧。问题是当我输入用户名和密码时,它不显示它应该显示的信息。mynodejs登录页面没有响应

var express = require('express'); 
var sessions = require('express-session'); 

var session; 

var bodyParser = require('body-parser'); 

var app = express(); 

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

app.use(sessions({ 
    secret: '2937#&&#', 
    resave: false, 
    saveUninitialized: true 
})) 

app.get('/login', function(req, resp){ 
    session = req.session; 
    if(session.uniqueID){ 
     resp.redirect('/redirects'); 
    } 
    resp.sendFile('./files/login.html', {root: __dirname}); 
}); 

app.post('/login', function(req, resp){ 
    // resp.end(JSON.stringify(req.body)); 
    session = req.session; 
    if(session.uniqueID) { 
     resp.redirect('/redirects'); 
    } 

    if(req.body.username == 'admin' && req.body.password == 'admin'){ 
     session.uniqueID = req.body.username; 
    } 
    resp.redirect('/redirects'); 
}); 

    app.get('/logout', function(req, resp){ 
     req.session.destroy(); 
      resp.redirect('/login'); 
    }); 

    app.get('/admin', function(req, resp){ 
     session = req.session; 
     if(session.uniqueID != 'admin'){ 
      resp.end('Unauthorised acess') 
     } 
     resp.end('You are good'); 
    }) 

    app.get('/redirects', function(req, resp){ 
    session = req.session; 
    if(session.uniqueID =='admin') { 
     console.log(session.uniqueID) 
     resp.redirect('/admin'); 
    } else { 
     resp.send(req.session.uniqueID + 'not found <a href="/logout">KILL SESSION</a>'); 
    } 
    }) 

app.listen(1337, function() { 
    console.log('Listening at port 1337'); 
}); 
+0

你可以给我们任何日志吗? – Seblor

+0

除了告诉我们它不做什么,告诉我们它做了什么。错误?它是否打印任何内容到控制台?您是否尝试过使用调试器?您是否收到404?请帮助我们为您提供帮助 – zero298

+0

嗯“不能得到” – KyloDank

回答

0

没有任何反应,因为您无法重定向AJAX调用。您的POST可能有效,但您的重定向指令不起作用。

尝试发送一个“成功”的响应,如果用户名和密码都不错(简单res.send('OK');会做),然后在客户端将用户重定向到/redirectswindow.location.replace('https://yoursite.com/redirects'));如果返回成功代码。

这将通过你的GET路线处理/redirects,你应该看到你想要的东西