2017-10-19 4 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

yh「取得できません」 – KyloDank

答えて

0

AJAXコールでリダイレクトできないため、何も起こりません。あなたのPOSTはおそらく動作しますが、あなたのリダイレクト・ディレクティブは効果がありません。

ユーザー名とパスワードは、(単純res.send('OK');はどうなる)優れていると、成功コードが返された場合、クライアント側で/redirectswindow.location.replace('https://yoursite.com/redirects'));にユーザーをリダイレクトする場合は、「成功」の応答を送信してみてください。

この/redirectsのGETルートで処理され、必要なものが表示されるはずです。

関連する問題