javascript - 如何使用 node.js 从 mySQL 读取数据并回传到 HTML?
问题描述
我正在尝试从中读取数据MySQL
,然后如果名称匹配,则将数据发回同一页面。我似乎没有在页面上得到结果?怎么了?
我正在学习使用NodeJS
它,它适用于控制台,但试图在 HTML 上做
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "petra",
password: "password",
database: "mydatabase"
});
function readmySQL() { // function readmySQL is triggered from a html page on click
var getname = document.getElementById("fullname").value;
con.connect(function(err) {
if (err) throw err;
//Select all customers and return the result object:
con.query("SELECT name, address, contact FROM myaddress", function (err, result, fields) {
if (err) throw err;
//console.log(result);
Object.keys(result).forEach(function(key) {
var row = result[key];
if (getname == row.name){ // match entered name to datatbase user name
document.getElementById("display_result").innerHTML = "Hello you have entered " + getname;
}
console.log(row.name + " , " + row.address + " , " + row.contact);
});
connection.end();
});
});
}
解决方案
NodeJS 在服务器上运行。HTML 文件中的脚本在客户端上运行。您没有在客户端上包含服务器代码。相反,您从客户端向服务器代码发送消息,并解释结果。因此,执行此操作的标准方法是在生成您想要生成的内容或数据的服务器上定义一个资源,并使用正常的页面加载或“ajax”从客户端检索该内容或数据。
所以你必须通过节点 js 创建 http 服务器(检查 express js)在服务器中实现你的 web 服务并通过 ajax 从前端调用它
推荐阅读
- jenkins - Jenkins 管道:分阶段运行所有步骤,即使第一个步骤失败
- python - 如何在 pythonanywhere.com 虚拟环境中更新 wkhtmltopdf 版本?
- java - Spring Data JPA检查记录是否存在并更新否则插入
- android - RecyclerView Kotlin 中的 LayoutManeger NullPointerException
- c# - SignalR向同一用户发送重复消息n次n是连接的用户数.NetCore
- javascript - MongoDB如何进入文件
- authentication - 无需重定向到登录页面的第一方(主)应用程序的 OpenID/OAuth2.0 替代方案?
- ios - 在 SwiftUI 中带有均匀虚线边框的圆圈?
- python - 直接在 python REPL 中使用 await
- r - 如何创建按 2 个不同列分组的累积总和