为了账号安全,请及时绑定邮箱和手机立即绑定

关于indexedDB中IDBDatabase对象已生成但不能调用createObjectStore

关于indexedDB中IDBDatabase对象已生成但不能调用createObjectStore

眼眸繁星 2019-03-21 18:15:00
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 事务的一部分被调用。

Using_IndexedDB

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);

}


查看完整回答
反对 回复 2019-04-14
  • 1 回答
  • 0 关注
  • 664 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信