浏览器数据库IndexedDB1

浏览器数据库IndexedDB

遇到的一个坑

window.indexedDB.open(‘test’, 1),这段代码必须写在$(function(){})方法里;否则就会报错

本人写的一小段测试代码

var db;

//要等数据库打开成功,db被赋值后,才能取数据,所以要延迟100毫秒
function afterRead(){
    setTimeout(function(){ read(); }, 100);
}

function read() {
    var transaction = db.transaction(['person']);
    var objectStore = transaction.objectStore('person');
    var request = objectStore.get(1);
 
    request.onerror = function(event) {
      console.log('事务失败');
    };
 
    request.onsuccess = function( event) {
       if (request.result) {
         console.log('Name: ' + request.result.name);
         console.log('Age: ' + request.result.age);
         console.log('Email: ' + request.result.email);
       } else {
         console.log('未获得数据记录');
       }
    };
 }
    


    $(function(){
        //新建或打开数据库 下面这句代码一定要写在$(function(){})方法里
       var request = window.indexedDB.open('test', 1);

       request.onerror = function (event) {
           console.log('数据库打开报错');
         };
       
   request.onsuccess = function (event) {
   console.log('数据库打开成功');
   console.log(request.result);
   if(db){
   }else{
   db = request.result;
   console.log("赋值完成")
   }
   };
   
   request.onupgradeneeded = function (event) {
   console.log("数据库更新中");
   db = event.target.result;
   createStore();
   }

   //创建仓库
   function createStore(){
   var objectStore = db.createObjectStore('person', { keyPath: 'id' });
     objectStore.createIndex('name', 'name', { unique: false });
     var request1 = objectStore.add({ id: 1, name: '张三', age: 24, email: 'zhangsan@example.com' });
     request1.onsuccess = function (event) {
       console.log('数据写入成功');
     };
   
     request1.onerror = function (event) {
       console.log('数据写入失败');
     }
   }

    })

    console.log("地方0")

参考链接

链接: 阮一峰 浏览器数据库 IndexedDB 入门教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值