【发布时间】:2020-04-19 18:15:48
【问题描述】:
我是编程新手,听说这个网站上有些人很生气,但请不要生气。我正在创建一个 Web 应用程序,它有一个网页,还进行了一些计算并与数据库 (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中获取数据,因为浏览器无法识别与数据库相关的代码。
【问题讨论】:
-
我们需要了解您的网络应用程序的架构。请告诉我们(确认)index.js 是在浏览器(客户端)上运行,getData.js 是在服务器端还是客户端运行。这将为我们指明正确的方向,以便我们为您提供相应的帮助。
-
是的,index.js 是客户端文件,getData 运行在服务器端。
-
您是否了解您的一些 Javascript 在浏览器中运行,而另一些在服务器上运行?对于网页本身(在浏览器中运行)中的 Javascript 从服务器获取数据,它会进行 Ajax 调用,可能使用浏览器中的
fetch()api 并指向服务器上的特定路由,该路由发送想要的数据。或者,您可以在浏览器最初请求数据时将数据插入到网页中,这样数据已经在网页中,并且您的网页中的 Javascript 可以使用它。 -
我认为您的问题通常与javascript模块有关,以及如何导入和导出函数和数据。
标签: javascript node.js backend transfer