老师看一下

来源:3-2 indexDB(2)

qq_慕瓜7049344

2020-08-19 18:10:12

<!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',10);

        console.log(req)

        // 创建成功触发

        req.onsuccess=function(){

            console.log('创建成功');

        }

        // 创建失败触发

        req.onerror=function(){

            console.log('创建失败'); //版本号低于之前的版本号会报错 等于该版本号也会报错 

        }

        //版本号更新时触发

        req.onupgradeneeded = function(){

            var db = req.result;

            db.createObjectStore('text2',{keyPath:'id'});

            console.log('版本号更新成功');

            var a = db.transaction('text2',"readwrite");

            var b = a.objectStore('text2');

            b.add(json);

        }

       var json = {

           "id":1005,

           "name":'xm'

       }

    </script>

</body>

</html>


写回答

2回答

好帮手慕久久

2020-08-19

同学你好,代码正确,很棒,祝学习愉快!

0

好帮手慕久久

2020-08-19

同学你好,这样写会报错,无法写入数据:

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

原因是createObjectStore这个操作是异步的,所以需要延时操作数据库,如下:

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

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

0
hq_慕瓜7049344
h <!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', 12); console.log(req) // 创建成功触发 req.onsuccess = function () { console.log('创建成功'); } // 创建失败触发 req.onerror = function () { console.log('创建失败'); //版本号低于之前的版本号会报错 等于该版本号也会报错 } //版本号更新时触发 req.onupgradeneeded = function () { var db = req.result; db.createObjectStore('text2', { keyPath: 'id' }); console.log('版本号更新成功'); } var json = { "id": 1005, "name": 'xm' } setTimeout(function () { var db = req.result; var a = db.transaction('text2', "readwrite"); var b = a.objectStore('text2'); b.add(json); }, 200); </script> </body> </html>
h020-08-19
共1条回复

0 学习 · 6815 问题

查看课程