我要做的是从数据库中获取数据,当页面加载时,它们将显示在屏幕上。当用户登录时,它有一个保存在变量TODO
中的数据库URL,我使用db
来获取该用户的所有数据。
现在。我有一个按钮db.allDocs
但是当我尝试onload时,它确实有效,但没有正确的数据库。这是因为用户因某种原因未知。
我的代码:
<button onclick="showInfoItems()">
用户信息在showinfo.js中已知,但由于某种原因用户未定义,直到我按下onclick按钮。
我认为,当我第一次加载js文件(就像我一样)然后执行onload时,它会工作,但没有。用户名未定义。
有人知道我做错了什么或我如何解决这个问题?
编辑:
showInfoItems.js:
<body>
<ul id="info-lijst"></ul>
<script src="js/showinfo.js"></script>
<script>onload = showInfoItems();</script>
dbrp变量是什么: 本地主机:5984 / USERDB-未定义 当我做onclick它是: localhost:5984 / userdb-1234567890(用户名已知)
答案 0 :(得分:1)
您定义的onload错误。它需要一个可调用的函数。你所做的就是立即调用你的功能。
window.onload = function() {
showInfoItems()
});
修改强>
由于这似乎更像是一个PouchDB问题,因此扩展了我的答案。
问题是,您需要等待异步函数调用。文档准备就绪后,不会执行此功能。因此,要么在此功能中添加回调以在完成时触发另一个功能,要么添加调度CustomEvent
document.dispatchEvent(new CustomEvent('databaseReady'));
然后你可以监听这个事件并将多个函数绑定到它。
document.addEventListener('databaseReady', function() {
showInfoItems()
});