Node.js从Javascript代码内的MySQL查询返回[object Object]

时间:2019-03-21 21:46:36

标签: javascript mysql sql node.js ejs

我正在node.js上运行服务器。当我通过键入localhost:3030在Google Chrome浏览器中查看结果时,它将返回值[object Object]

这是这里的app.js代码:

    var express = require('express');
    var mysql = require('mysql');
    var app = express();
    app.set("view engine", "ejs");

    var connection = mysql.createConnection({
      host: 'localhost',
      user: 'abcdefg',
      password: 'password',
      database: 'test'
    });

    app.get("/", function(req,res){
      var q = "select * from showdata";
      connection.query(q, function(err, results){
        if(err) throw err;
        var products = results;
        res.render("home", {data: products});
      });
    });

    app.listen(3030, function(){
      console.log("server running on 3030");
    })

这是.ejs文件:

    <h1>Test</h1>
    <p> <strong><%=data%></strong></p>

没有错误出现。它只是说[object Object],而它应该返回查询中的所有值。

2 个答案:

答案 0 :(得分:0)

尝试一下:

<h1>Test</h1>
<% data.forEach(function(item) { %>

    <p> <strong><%= item %></strong></p>

<% }); %>

答案 1 :(得分:0)

pmkro帮助链接了正确的网站: Loop through JSON in EJS 这是我使用的代码:

<h1>Test</h1>
<% data.forEach(function(item) { %>

    <p> <strong><%= item %></strong></p>

<% }); %>