Angularjs 使用HTML5 indexDB存储多个对象
我有以下格式的JSON对象Angularjs 使用HTML5 indexDB存储多个对象,angularjs,html,Angularjs,Html,我有以下格式的JSON对象 $scope.indexData = { "custid": "1", "addresses": [ { "addressType": "P", "address1": "" }, { "addressType": "M" } ], "personalDetails": { "title": "", "name": "" } } 我想使用HTML5
$scope.indexData = {
"custid": "1",
"addresses": [
{
"addressType": "P",
"address1": ""
},
{
"addressType": "M"
}
],
"personalDetails": {
"title": "",
"name": ""
}
}
我想使用HTML5 indexDB存储对象。如何存储对象
我试着用下面的方法,但没有成功
var db;
var request = window.indexedDB.open("newDatabase", 1);
request.onupgradeneeded = function(event) {
var db = event.target.result;
var objectStore = db.createObjectStore("customers");
for (var i in $scope.indexData) {
objectStore.add($scope.indexData[i]);
}
}
我收到以下错误消息:
Uncaught DataError:未能在“IDBObjectStore”上执行“add”:对象存储使用外线键,没有键生成器,并且未提供键参数。
您指定的键路径指示存储使用内线键。您的代码可能如下所示:
var db;
var request = window.indexedDB.open("newDatabase", 1);
request.onupgradeneeded = function(event) {
var db = event.target.result;
var objectStore = db.createObjectStore("customers",{keyPath: "isbn"});
for (var i in $scope.indexData) {
objectStore.add({i:$scope.indexData[i], isbn:i});
}
}