IndexedDB 添加条目显示为成功,但不显示在 chrome 开发工具中



我正在尝试编写一个简单的JavaScript应用程序,以从Web表单中添加indexedDB的条目。由于某种原因,添加请求显示为成功,但是即使我刷新数据库,我也看不到Chrome Developer窗口中的任何内容。这是我正在写的JavaScript。

$(document).ready(function() {
    $("#addcsub").click(function(e){
        e.preventDefault();
        //add the contact
        addContact($("#clast").val(), $("#cfirst").val(), $("#cphone").val(), $("#cemail").val());
    });
});
document.addEventListener("DOMContentLoaded", function() {
    if(!"indexedDB" in window){
        return;
    }
    var openRequest = indexedDB.open("theDatabase",1);
    openRequest.onupgradeneeded = function(e) {
        var thisDB = e.target.result;
        if(!thisDB.objectStoreNames.contains("contacts")) {
            var objectStore = thisDB.createObjectStore("contacts", {keyPath:"contactid",autoIncrement: true});
            objectStore.createIndex("contactid","contactid",{unique:true});
            objectStore.createIndex("lastname","lastname", {unique:false});
            objectStore.createIndex("firstname","firstname", {unique:false});
            objectStore.createIndex("phone","phone", {unique:false});
            objectStore.createIndex("email","email", {unique:false});
        }
    }
    openRequest.onsuccess = function(e) {
        db = e.target.result;
    }
    openRequest.onerror = function(e) {
        console.log("Open Request Error");
    }
},false);
function addContact(last,first,phone,email){
    var transaction = db.transaction(["contacts"],"readwrite");
    var store = transaction.objectStore("contacts");
    var tc = {
        lastname:last,
        firstname:first,
        phone:phone,
        email:email
    }
    var request = store.add(tc);
    request.onerror = function(e){
        console.error(request.error);
    }
    request.onsuccess = function(e){ //this runs when I hit submit
        console.log("Add Successful"); //this appears in the console
    }
}

更新:我做了一些戳戳,意识到我的添加交易正在中止,但domexception代码的错误22。

更新2:由于某些原因,它在其他计算机上工作,而不是我的笔记本电脑。

我在indexeddb的DevTools GUI上遇到了问题。您可以尝试通过控制台将记录拉开并查看是否存在,但是在过去,我不得不关闭DevTools并将其再次打开以刷新。

最新更新