javascript - 未捕获的 ReferenceError:未定义 mongoDB.js
问题描述
在我的 IntelliJ 终端中,我可以调用“node mongoDB.js”并在我的数据库中检索示例数据。但是,当我启动 index.html 页面时,在控制台屏幕上出现错误:“Uncaught ReferenceError: require is not defined mongoDB.js:1 at mongoDB.js:1” 我试图查看是否按钮对 javascript 错误不起作用,但能够显示硬编码的单词。任何帮助,将不胜感激。下面的代码:
async function main() {
const uri = "mongodb+srv://<usr>:<pass>@cluster0.dfgj3.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
const client = new MongoClient(uri);
try {
await client.connect();
await listDatabases(client);
} catch (e){
console.error(e);
} finally {
await client.close();
}
}
main().catch(console.error);
async function listDatabases(client) {
const databasesList = await client.db().admin().listDatabases();
console.log("Databases:");
databasesList.databases.forEach(db => console.log(` - ${db.name}`));
};
function displayQuery() {
let text1 = "Hello";
document.getElementById("query").innerHTML = text1;
}
displayQuery();
<html>
<head>
<meta charset="UTF-8">
<title>TITLE</title>
<script src="fetchAPI.js" type="text/javascript"></script>
<script src="mongoDB.js" type="text/javascript"></script>
<link href="styles.css" rel="stylesheet">
</head>
<body>
<div class="my-grid">
<p class="span-three">
NOTE: ticker AAPL is just arbitrary
Stock: <input id = "ticker" value = "AAPL"></input>
<br/>
<button onclick="displayQuery()" id= "submit" >Submit</button>
<p id="query"></p>
</p>
</div>
</body>
</html>
解决方案
MongoDB 只是服务器端。您正在尝试在首页中调用它。这些是不同的东西。
为了让您的网页从您的数据库加载数据,您应该创建一个 API。该 api 将检索数据并将其发送回给您
这是来自官方论坛的链接 https://www.mongodb.com/community/forums/t/why-doesnt-mongodb-work-with-client-side-js/9062
推荐阅读
- reactjs - subscribe() 没有功能,不能 getState()
- openshift - 无法启动部署在 OpenShift 中的 springboot 应用程序
- reactjs - 在回调中使用它
- c++ - 第一个 cout 语句末尾的空格显示在第二个 cout 的开头
- php - RuntimeException:尚未设置外观根
- php - Symfony - 基于父节点获取子节点计数的索引
- d3.js - 多项式 d3 回归加载数据集
- django - Django 不提供图像,因为 Debug 设置为 True - 我怎样才能让 nginx 提供这些图像?
- c++ - 在 Visual Studio 中使用多个文件时如何阻止类被重新定义
- swift - 在 NSArrayController 中观察 selectedObjects 总是返回