【问题标题】:Node.js returns [object Object] from MySQL query inside Javascript code [duplicate]Node.js 从 Javascript 代码中的 MySQL 查询返回 [object Object] [重复]
【发布时间】:2019-08-12 20:34:32
【问题描述】:

我在 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],而它应该返回查询中的所有值。

【问题讨论】:

  • 您的结果是一组项目。你需要遍历它们
  • 我会在哪里专门写循环?
  • 可能就在res.render('home', ...)之前
  • 很遗憾重复了同样的结果
  • pmkro 在那个位置!

标签: javascript mysql sql node.js ejs


【解决方案1】:

试试这个:

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

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

<% }); %>

【讨论】:

    【解决方案2】:

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

    <h1>Test</h1>
    <% data.forEach(function(item) { %>
    
        <p> <strong><%= item %></strong></p>
    
    <% }); %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 2015-05-09
      • 2018-08-10
      • 1970-01-01
      相关资源
      最近更新 更多