indexedDB中IDBDatabase对象已生成但不能调用createObjectStore方法创建命名空间,提示Uncaught TypeError: Cannot read property 'createObjectStore' of undefined。下面是代码 var request = indexedDB.open("jusing"), db; user = { username: "jusing", age: 18, gender: "male", handsome: true } request.onsuccess = function() { db = event.target.result; } var store = db.createObjectStore("users", {keyPath: "username"}); store.add(user);
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
首先db
根本没赋值,其次createObjectStore
不能在onsuccess
用。
要更新数据库的 schema,也就是创建或者删除对象存储空间,需要实现 onupgradeneeded 处理程序,这个处理程序将会作为一个允许你处理对象存储空间的 versionchange 事务的一部分被调用。
var request = indexedDB.open("jusing"),
db;
user = {
username: "jusing",
age: 18,
gender: "male",
handsome: true
}
request.onupgradeneeded = function() {
db = event.target.result;
var store = db.createObjectStore("users", { keyPath: "username" });
store.add(user);
}
添加回答
举报
0/150
提交
取消