2017-09-14 4 views
1

Ich arbeite in einem Login/Sigup-System, ich muss den Wert einiger Eingänge nehmen, um sie zu registrieren, aber ich habe ein Problem.IndexDB Uncaught Fehler beim Ausführen von "Transaktion" auf "IDBDatabase"

Der Fehler ist: Uncaught DOMException: Fehler beim Ausführen von "Transaktion" auf "IDBDatabase": Einer der angegebenen Objektspeicher wurde nicht gefunden.

Und in dieser Codezeile auftreten: "var data = active.transaction ([" usuarios "]," readwrite ");"

Kann mir jemand dabei helfen? Hier ist mein Code:

var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; 
var dataBase = null; 

function startDB(){ 

    dataBase = indexedDB.open("objectDb", 1); 


    dataBase.onupgradeneeded = function (e) { 

    var active = dataBase.result; 


    var objectDb = active.createObjectStore("usuarios", {keyPath: 'id', autoIncrement : true }); 


    objectDb.createIndex('index_nombre','nombre', {unique : false}); 
    objectDb.createIndex('index_user','usuario', {unique : true}); 
    objectDb.createIndex('index_correo','email', {unique : true}); 
    objectDb.createIndex('index_pass','pass', {unique : false}); 
    }; 

    dataBase.onsuccess = function (e) { 
    alert("Base de datos cargada correctamente"); 

    }; 

    dataBase.onerror = function (e) { 
    alert("Error cargando la base de datos"); 
    }; 
} 

function add() { 
    var active = dataBase.result; 

    var data = active.transaction(["usuarios"], "readwrite"); 

    var objectDb = data.objectStore("usuarios"); 

    var request = objectDb.put({ 
    nombre: document.querySelector("#nombre").value, 
    usuario: document.querySelector("#usuario").value, 
    email: document.querySelector("#email").value, 
    pass: documento.querySelector("#pass").value, 
    }); 

    request.onerror = function (e) { 
    alert(request.error.name + '\n\n' + request.error.message); 
    }; 

    data.oncomplete = function (e) { 
    document.querySelector("#nombre").value = ""; 
    document.querySelector("#usuario").value = ""; 
    document.querySelector("#email").value = ""; 
    document.querySelector("#pass").value = ""; 
    alert("Objeto agregado correctamente"); 
    }; 
} 

Dies ist mein erstes Projekt mit indexedDB, also bin ich sehr noob. Entschuldigung, wenn dies

ist

Antwort

0

Ich fand die Antwort, es war ein Fehler in der var objectDb, legte ich das D in Kleinbuchstaben und es hat funktioniert.

Verwandte Themen