老师,帮我看下,我这里添加数据失败

来源:3-6 indexDB-游标

慕粉1905369247

2020-05-14 11:57:22

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>


<script type="text/javascript">

var request=indexedDB.open('test',1)

request.onsuccess=function () {

console.log('数据库创建成功')

}


request.onupgradeneeded=function(){

console.log('版本升级了')

request.result.createObjectStore('test1',{keyPath:'id'})

}


var json=[

{

'id':1001,

'name':'aaa'

},{

'id':1002,

'name':'bbb'

},{

'id':1002,

'name':'bbb'

}

]


setTimeout(function(){

var transactionC=request.result.transaction('test1','readwrite')

var store=transactionC.objectStore('test1')



for(var i=0;i<json.length;i++){

var sus=store.add(json[i])

}

sus.onsuccess=function(){

console.log('添加数据成功 add')

}

sus.onerror=function(){

console.log('添加数据失败 add')

}


var sus2=store.put({

'id':1003,

'name':'ccc'

})

sus2.onsuccess=function(){

console.log('添加数据成功 put')

}

sus2.onerror=function(){

console.log('添加数据失败 put')

}


},300)


</script>

</body>

</html>


写回答

1回答

好帮手慕慕子

2020-05-14

同学你好,因为设置主键为id, 而json数据中有两条数据id重复了,导致使用add方法无法添加数据,所以会出现失败

建议:调整其中的一个id就可以了。示例:

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

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

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

0

0 学习 · 6815 问题

查看课程