gpt4 book ai didi

javascript - 即使使用 oncomplete 后,IndexedDB DOM IDBDatabase 异常 11

转载 作者:行者123 更新时间:2023-12-02 18:46:46 25 4
gpt4 key购买 nike

我对 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]);
}};

最佳答案

我还是不知道上一个程序出了什么问题。我重新编写了上面的程序,它的效果非常好。这是代码。希望这可以帮助任何遇到此问题的人。另外,如果有人知道上次出了什么问题,请分享您的想法。

var db; //database will be stored in this value when success is called
var movieDataToStore = [{ movieid: "1", name: "Keep my Storage Local", runtime:"60"},
{ movieid: "2", name: "Rich Internet Conversations", runtime:"45"},
{ movieid: "3", name: "Applications of the Rich and Famous", runtime:"30"},
{ movieid: "4", name: "All Jump All eXtreme", runtime:"45"}];

window.query = function() {
db.transaction("movies").objectStore("movies").get("1").onsuccess = function(event) {
alert("QUERY: CThe first movie is" + event.target.result.name);
};};

window.onload = function() {
if (!window.indexedDB) {
window.alert("Your browser doesn't support a stable version of IndexedDB. Such and such feature will not be available.")
}
else{
var request = indexedDB.open("movies", 1);
request.onerror = function(event) {
alert("Seems like there is a kryptonite nearby.... Please Check back later");
};

request.onsuccess = function(event) {
db = this.result;
query();
};

request.onupgradeneeded = function(event) {
var db = event.target.result;
if(db.objectStoreNames.contains("movies")) {
db.deleteObjectStore("movies");
}
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]);
}
};

}
};

关于javascript - 即使使用 oncomplete 后,IndexedDB DOM IDBDatabase 异常 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16304562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com