javascript - 如何从数据库导入数据并将其存储在 node.js 应用程序的变量中以供以后使用
问题描述
我想尝试从数据库中获取数据(在我的情况下是问题)并将它们保存在一个数组中,以便在我的 javascript 代码的其余部分中使用。
我一直在用 node.js 中的 mysql 进行一些阅读和测试,以及它是如何异步的。查询后我已经能够获取数据,但是我无法将数据存储在代码中的其他位置,我想知道如何获取数据库数据,存储它,并将其用于我的其他区域js代码。
这是我的测试之一
这是服务器javascript的一部分
var questions;
io.on('connection', function(socket){
socket.on('Get Questions', function(){
const db = mysql.createConnection({
host: "localhost",
database: "playerdb",
user: "root",
password: "061298"
});
db.query("SELECT Question FROM quiz_questions", function(err, results){
//if(err) console.log("Oh dear, " + err);
for(var i = 0; i < results.length; i++){
questions.push(results[i]);
}
})
});
io.sockets.emit('Send Questions', questions);
});
这是客户端javascript的一部分
socket.emit('Get Questions');
socket.on('Send Questions', function(qList){
for(var c = 0; c < questions.length; c++){
const newQuestion = document.createElement('li');
newQuestion.innerHTML = qList[i];
databaseData.appendChild(newQuestion);
}
})
此代码返回错误:“无法读取未定义的属性 'push'”
解决方案
您需要先初始化数组,然后才能对其进行push
初始化
let questions = [];
推荐阅读
- python-3.x - 试图查找过去一小时内创建的任何 AMI
- html - 同时从父级和子级更改 flex 会触发闪烁
- python - 为什么 Gtk.TextView 中的空行与行号不对齐但带有文本的行不对齐?
- sql-server - 存储过程返回的结果在调用之间交叉
- r - 如何使用 rowwise 创建基于函数的列表列
- azure - 为什么 Azure 服务总线消息缺少字段?
- autodesk-forge - 使用链接下载 Revit 模型
- swift - Swift 中的打印机秤
- r - 如何在重新启动 R Shiny 应用程序或查询时保存已编辑的数据框并将其加载回来?
- kubernetes - 将networking.k8s.io/v1beta1移植到v1