老师当我更新版本号报错 不跟新版本号 它的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

同学你好,如果更新版本号,下面的名称也需要修改:

http://img.mukewang.com/climg/5f3ddaa709f0d6c806320559.jpg

另外,name不显示是因为之前的数据库已经成功打开过了,onsuccess执行了就不会再次执行了。如果想要看之前已经成功打开的数据的name,那么可以先把数据库删掉。之前的回答中讲解了,可以看一下哦:

http://class.imooc.com/course/qadetail/249097

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 6815 问题

查看课程