我正在尝试从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从前端调用它
关于javascript - 您如何使用node.js从mySQL读取数据并将其发布回HTML?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57584046/