我正在尝试创建一个函数来抓取数据库表(平台)中的所有行,这些行在数组中插入每个行名(platform_name)。这最终应该在我的HTML文档中输出行列表。
以下是相关代码:
var getData = new function() {
this.query = 'SELECT * FROM platforms';
this.exe = function() {
// Connecting to MySQL Database
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'pass',
database: 'chatter'
});
var platforms = new Array; // Creating array to return
// Getting the rows from the database
connection.query(this.query, function(err, rows, fields) {
// Adds every row to the platforms array
for(var i in rows) {
platforms.push(String(rows[i].platform_name));
}
});
return platforms; // Returns array
connection.end();
}
}
<script> console.log(getData.exe()); </script>
<script> getData.exe(); </script>
当我在console.log中运行getData.exe()函数时,它会输出:
当我按原样运行该功能时,它不会返回任何内容......惊喜!
我有点困惑于这个问题,所以我希望一个友善的灵魂有能力看看这个。我几乎是javascript的新手,因为我想学习使用node.js制作本地网站。
答案 0 :(得分:1)
您需要在变量中指定函数的返回值,以便稍后使用。只调用此函数将返回数据但没有任何用处。
答案 1 :(得分:0)
您需要将getData.exe()方法的结果写入html文档,例如
<script> document.write(getData.exe()); </script>