2016-11-21 4 views
0

Ich habe fast alle die hier angebotene Lösung versucht, aber da ich neu bei NodeJs bin, fehlt mir ein Teil in meinem Code. Bitte helfen Sie mir, es zu finden. Beim Klicken auf die Login-Schaltfläche möchte ich meine Seite auf eine andere einfache Seite umleiten.Umleiten zu einer anderen Seite: NodeJs

Hier ist meine login_authentication.js

window.onload = function() { 


    var username = document.getElementById("username"); 
    var password = document.getElementById("password"); 
    var loginButton = document.getElementById("login"); 


    loginButton.onclick = function (req,res) { 
     if (username.value == "" || password.value == ""){ 
      alert("Please fill out details!"); 
     }else { 
      //alert(username.value); 
      username.value = ""; 
      password.value = ""; 

     router.get('/users', function(req, res, next) { 
      // res.send('respond with a resource'); 
      res.render('homepage', { title: 'Thank You' }); 
     }); 
     } 

    } 

} 

Hier ist app.js

app.use('/', index); 
app.use('/users', users); // need to show this page rest is default code 

ist hier users.js

var express = require('express'); 
var router = express.Router(); 

/* GET users listing. */ 
router.get('/', function(req, res, next) { 
// res.send('respond with a resource'); 
    res.render('homepage', { title: 'Sample' }); 
}); 

module.exports = router; 

Ich möchte meine Seite umleiten, wenn der Benutzer auf die Login-Schaltfläche klickt, deren Code sich in login_authentication befindet. Danke für jede Hilfe.

+1

Verwendung window.location = "/ Benutzer" statt router.get ('/ users') in login_authentication.js – farhadamjady

+0

@farhadamjady Sie sooo viel danken. Es macht, was ich erreichen möchte. Danke noch einmal. –

+0

Ihr Willkommen! ;) – farhadamjady

Antwort

2

Verwendung window.location="/users" statt router.get('/users') in login_authentication.js

0

Angenommen, Sie haben ein Formular mit einigen Eingabefeldern.

<form method="post" action="/thank-you" id="login"> 
<!-- Some input fields --> 
<button type="button">Submit</button> 
</form> 

In Ihrer Frontend-JS werden Sie das Click-Ereignis behandeln. Wenn die Validierung passiert, dann werden Sie das Formular

var username = document.getElementById("username"); 
var password = document.getElementById("password"); 
var loginButton = document.getElementById("login"); 


loginButton.onclick = function (req,res) { 
    if (username.value == "" || password.value == ""){ 
     alert("Please fill out details!"); 
    }else { 
     document.getElementById("login").submit(); 
    } 

} 

Hier in Knoten auf dieser Route NodeJS einreichen Sie die Anfrage erhalten, stellen Sie sicher, dass es die thank-you.html Datei hat.

//NODE 
router.post('/thank-you', function(req, res) { 
    res.sendFile('thank-you.html'); 
}); 
+0

habe es versucht. aber hat nicht funktioniert. Ich schreibe diesen Code meine login_authentication.js in if-Bedingung. –

+0

Ich sehe nicht, dass Sie Ihr Formular einreichen –

+0

können Sie mir genau sagen, wo ich das tun sollte? Siehe meine Änderungen in login_authentication.js –

Verwandte Themen