Nih*_*hir 5 javascript indexeddb
我正在创建一个脚本来从数据库中读取一个属性 - 由于项目的架构,如果这在 JS 中实现是最简单的。
我正在使用 IndexedDB,并且可以成功找到数据库,但是当我尝试从 objectStore 获取属性时出现错误(似乎我无法访问表):
Firefox: “NotFoundError:操作失败,因为找不到请求的数据库对象。例如,对象存储不存在但正在打开。”
Chrome: NotFoundError:无法在“IDBDatabase”上执行“transaction”:未找到指定的对象存储之一。
我的代码:
var request = window.indexedDB.open("/app_name/database.sqlite", 1);
request.onsuccess = function(event) {
console.log("Found Database");
db = event.target.result;
var transaction = db.transaction(["TABLE"], "readonly");
var objectStore = transaction.objectStore("TABLE");
var ob = objectStore.get(String(ATTRIBUTE));
ob.onsuccess = function(e) {
console.log("Got ATTRIBUTE")
}
ob.onerror = function(e) {
console.log("Have not got ATTRIBUTE")
}
}
request.onerror = function(event) {
console.log("Database not found");
}
Run Code Online (Sandbox Code Playgroud)
错误发生在线路上var transaction = db.transaction(["TABLE"], "readonly");。
TABLE 确实存在 - 在查看器中打开数据库时,属性就在那里。
我没有使用过,.onupgradeneeded因为我没有创建任何新的对象存储 - 而只是尝试读取一个。
| 归档时间: |
|
| 查看次数: |
2017 次 |
| 最近记录: |