我正在尝试显示数据库中的数据。我正在学习使用数据库。当我按下按钮时,我没有显示任何内容。也许有人可以帮助我。
我的js代码是:
<script defer src="https://www.gstatic.com/firebasejs/7.14.5/firebase-app.js"></script>
<script defer src="https://www.gstatic.com/firebasejs/7.14.5/firebase-firestore.js"></script>
<script defer src="https://www.gstatic.com/firebasejs/7.14.5/firebase-database.js"></script>
<script type="module">
// ...
// TODO: Replace the following with your app's Firebase project configuration
const firebaseConfig = {
apiKey: "AIzaSyD2dGlAuA0zPpSGlYkCAFsPM8bsoWaRV44",
authDomain: "app.firebaseapp.com",
projectId: "app",
storageBucket: "app.appspot.com",
messagingSenderId: "966901972374",
appId: "1:966901972374:web:663a1b6fc7324c4021b1b7",
measurementId: "G-CD22ET3FG6"
};
// Initialize Firebase
const app = firebase.initializeApp(firebaseConfig);
var db = firebase.firestore();
function readData() {
var dataContainer = document.getElementById('data-container');
var productsRef = db.collection("products");
productsRef.get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
var data = doc.data();
var item = document.createElement('div');
item.innerHTML = 'Description: ' + data.description + ', Name: ' + data.name + ', Price: ' + data.price;
dataContainer.appendChild(item);
});
});
};
</script>
字符串
我的HTML代码是:
<body>
<div id="data-container"></div>
<button onclick="readData()">Read Data</button>
</body>
型
我得到一个错误代码:Uncaught ReferenceError:readData is not defined at HTMLButtonElement.onclick(profili:82:32)
我也可以我截图如何数据库看起来在firebase。我已经附上。
我的数据库规则
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
型
我已经谷歌和搜索在stackoverflow,但找不到什么是错的。
1条答案
按热度按时间sczxawaw1#
你的
readData
是在一个模块中定义的,所以你不能只是从全局命名空间调用它。相反,使用addEventListener
动态地将回调附加到HTML。例如,如果您使用以下命令从模块导出
readData
:字符串
您可以在其他代码块中使用它,
型
参见:ES6 Modules: Undefined onclick function after import