老师当我更新版本号报错 不跟新版本号 它的name又不能显示
来源:3-3 indexDB(3)
qq_慕瓜7049344
2020-08-19 20:42:43
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//创建db库
var req = indexedDB.open('tetx', 27);
console.log(req)
// 创建成功触发
req.onsuccess = function () {
console.log('创建成功');
}
// 创建失败触发
req.onerror = function () {
console.log('创建失败'); //版本号低于之前的版本号会报错 等于该版本号也会报错
}
//版本号更新时触发
req.onupgradeneeded = function () {
var db = req.result;
db.createObjectStore('text1', {
keyPath: 'id'
});
console.log('版本号更新成功');
}
var json = {
"id": 1200,
"name": 'x'
}
setTimeout(function () { var db = req.result;
var a = db.transaction('text1', "readwrite");//表 模式 读写
var b = a.objectStore('text1');//读取哪个表
b.add(json);//添加进去
console.log(b);
var c = b.get(1200)
c.onsuccess = function () {
console.log(c.result.name);
}
}, 200);
</script>
</body>
</html>
1回答
好帮手慕夭夭
2020-08-20
同学你好,如果更新版本号,下面的名称也需要修改:

另外,name不显示是因为之前的数据库已经成功打开过了,onsuccess执行了就不会再次执行了。如果想要看之前已经成功打开的数据的name,那么可以先把数据库删掉。之前的回答中讲解了,可以看一下哦:
http://class.imooc.com/course/qadetail/249097
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题