2017-06-28 4 views
0

Ich möchte Daten (Benutzername) von app.js zu main.js senden und auch Daten (Benutzername) von main.js zu App abrufen .js. Ich habe app.js, der Knoten ist, ruft index.html. Die index.html intern ruft die Funktion main.js auf. Hier ist mein Code.Senden und Abrufen von Daten von app.js (Knoten) zu javascript (main.js)

app.js

var http = require('http'); 
var fs = require('fs'); 
var express = require('express'); 
var path = require('path'); 
var app = express(); 

var username = 'username'; 

app.use(express.static('public')) 

var request = require('request'); 
request('http://localhost:8000/test', function (error, response, body){ 
if (!error && response.statusCode == 200) { 
console.log(body); 
} 
}); 

app.get('/', (req, res) => { 
res.sendFile(path.join(__dirname + '/index.html')) 
}); 

app.listen(3000,'127.0.0.1'); 
console.log('Listening on port 3000'); 

main.js

function clicked() { 
var user = document.getElementById('username'); 
var pass = document.getElementById('password'); 

var checkuser = "test"; 
var checkpass = "123" 

if (user.value == checkuser) { 
    if (pass.value == checkpass) { 
     window.location.href = "login.html"; 
    } 
    else 
    window.alert("Incorrect username or Password"); 
} 
else 
    window.alert("Incorrect username or Password"); 
} 

Bitte helfen Sie mir, dieses Problem zu beheben.

index.html

<!DOCTYPE html> 
<html> 
<head> 
<title> Login</title> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<!-- Latest compiled and minified CSS --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 

<!-- Optional theme --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> 

<!-- Latest compiled and minified JavaScript --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
</head> 
<body> 

<center> 
<h1>LOGIN</h1> 
<form action="" method="get"> 
<div class="container-fluid"> 
<div class="well"> 
<input type="text" id="username" placeholder="UserName"></br> 
<input type="password" id="password" placeholder="PassWord"></br> 
<input type="button" value="Login" onclick="clicked()"> 
<!--<button type="submit" onclick="clicked()">Login</button>--> 
<button type="submit" formaction="register.html">Register</button> 
</div> 
</div> 
</form> 
</center> 

Antwort

2

Sie sollten einige Template-Engine wie EJS passieren Daten zu Ihrer HTML-Seite verwenden. Die Vorlagen-Engine generiert die endgültige HTML-Antwort, die an den Client gesendet wird, indem der HTML-Code und die Skripts mit der Logik und den Daten kombiniert werden.

Mir ist Ihr Anwendungsfall nicht bekannt, aber die Weitergabe des Benutzernamens und des Kennworts an den Client und deren Validierung auf der Clientseite ist keine gute Idee. Stattdessen können Sie einen AJAX-Aufruf an den Server senden und auf der Serverseite überprüfen. Ich hoffe es hilft.

Verwandte Themen