我是编程新手,听说这个网站上的一些人很生气,但请不要生气。我正在创建一个Web应用程序,该应用程序具有一个网页,还可以进行Som计算并可以与数据库(NeDB)一起使用。我有一个index.js
const selects = document.getElementsByClassName("sel");
const arr = ["Yura", "Nairi", "Mher", "Hayko"];
for (let el in selects) {
for (let key in arr) {
selects[el].innerHTML += `<option>${arr[key]}</option>`;
}
}
我有一个函数,用数组中的数据填充选择元素。
在另一个名为getData.js的文件中:
var Datastore = require("nedb");
var users = new Datastore({ filename: "players" });
users.loadDatabase();
const names = [];
users.find({}, function (err, doc) {
for (let key in doc) {
names.push(doc[key].name);
}
});
我有一些代码从db获取数据并将其放入数组。而且我需要在上面提到的index.js中使用该数据,但是问题是我不知道如何将数据从getData.js传输到index.js。我已经试过module.exports,但是它不起作用,浏览器控制台说它不能识别require关键字,我也不能直接在index.js中获取数据,因为浏览器无法识别与数据库相关的代码。
答案 0 :(得分:1)
您需要提供连接到数据库的服务器。
浏览器->服务器->数据库
浏览器->服务器:服务器提供浏览器(客户端)可以从中获取数据的端点。 https://expressjs.com/en/starter/hello-world.html
服务器-> DB:将数据从数据库中取出,并可以用它做任何想做的事情。在您的情况下,应将数据提供给客户。
待办事项
步骤1:设置服务器。例如,使用express.js(用谷歌搜索)
第2步:了解如何从浏览器(客户端)获取数据AJAX GET是Google的关键字。
第3步:从服务器建立数据库连接并获取数据
第4步:对数据做任何想做的事情。
答案 1 :(得分:0)
起初我以为这是一种简单的方法,但是我对他们进行了一些研究,并意识到我没有足够的信息来了解它的实际工作原理。现在,我使用了promises和Templete引擎ejs解决了这个问题。谢谢大家的时间。感谢您的帮助。