javascript - 如何使用node.js从mySQL读取数据并回传到HTML?

标签 javascript html mysql node.js

我正在尝试从 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”从客户端检索该内容或数据。

所以你必须通过node js创建http服务器(检查express js) 在服务器中实现您的 Web 服务并通过 ajax 从前端调用它

关于javascript - 如何使用node.js从mySQL读取数据并回传到HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57584046/

相关文章:

javascript - 如何在 Javascript 中创建多个变量

javascript - Chrome 和 IE 11 中的 Object.keys 行为

html - 在 native 延迟加载期间保持 Chrome 中图像的纵横比

html - 绝对定位元素内部溢出 :auto parent

mysql - 获取以逗号分隔格式 Sql 具有相同值的列数

JavaScript 和 html : opacity change causing unexpected behaviour

javascript - 如何通过 react-arcgis npm 将图层添加到 arcgis map ?

html - 为什么 <a> 标签内容会溢出包含 div 边界?

php - 如何使用 PHP/MySQL 建立主题标签之间的关系?

mysql - 将 varchar 转换为日期并按转换后的 varchar 排序