我正在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]
,而它应该返回查询中的所有值。
答案 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>
<% }); %>