私は IndexedDB の概念に非常に慣れていません。映画のリストを IndexedDB に保存して取得しようとしています。しかし、何らかの理由でそれを取得しようとすると、Chrome ブラウザーで DOM IDBDatabase Exception 11 が発生します。単純なアラートを使用して取得しようとします。また、アラートを onComplete イベント内に配置してデータを取得しようとしましたが、これも失敗のようです。誰かが私が何をしているのか教えてください。以下は私のコードです。
const dbName = "movies";
var request = indexedDB.open(dbName, 1);
request.onerror = function(event) {
alert("Seems like there is a kryptonite nearby.... Please Check back later");
};
request.onsuccess = function(event) {
var db = event.target.result;
var transaction = db.transaction(["movies"],"readwrite");
var objectStore = transaction.objectStore("movies");
var request1 = objectStore.get("1");
request1.result.oncomplete=function(){
alert("The movie is"+request1.result.name);//This is the place where i get the error
}
};
request.onupgradeneeded = function(event) {
db = event.target.result;
var objectStore = db.createObjectStore("movies", { keyPath: "movieid" });
objectStore.createIndex("name", "name", { unique: false });
objectStore.createIndex("runtime", "runtime", { unique: false });
for (var i in movieDataToStore) {
objectStore.add(movieDataToStore[i]);
}};