javascript - 从 app.js(node) 发送和检索数据到 javascript(main.js)

标签 javascript html node.js

我想将数据(用户名)从 app.js 发送到 main.js,并从 main.js 检索数据(用户名)到 app.js。我有app.js,它是 Node ,调用index.html。 index.html 实习生调用 main.js 函数 clicked。这是我的代码。

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");
}

请帮我解决这个问题。

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>

最佳答案

您应该使用一些模板引擎,例如 EJS将数据传递到您的 HTML 页面。模板引擎通过组合 HTML 代码和包含逻辑和数据的脚本来生成最终的 HTML 响应,该响应将发送到客户端。

我不知道您的用例,但将用户名和密码传递给客户端并在客户端验证它们是一个坏主意。相反,您可以对服务器进行 AJAX 调用并在服务器端进行验证。希望对您有所帮助。

关于javascript - 从 app.js(node) 发送和检索数据到 javascript(main.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808940/

相关文章:

JavaScript 在电子邮件周围分割字符串

javascript - iPad 蓝牙键盘使用 onKeyUp 为任何键返回键码 0

Javascript 使用 if 语句更改样式表

node.js - TypeError - 解析 URL 时参数必须是字符串

node.js - 如何在 Sails.js 中监听来自套接字的消息?

javascript - 用于匹配不以逗号开头的空格的正则表达式

javascript - 如何将禁用的选项 DOM 元素切换为启用?

java - 将 var javascript 转换为 java 变量

html - 如何使用 bootstrap 正确对齐行

javascript - 使用 $or 在 mongoose 中复杂化多个查询