And*_*lez 6 html javascript transactions local-storage indexeddb
我正在登录/注册系统中工作,我必须获取一些输入的值来注册它们,但我有一个问题。
错误是:未捕获的 DOMException:无法在“IDBDatabase”上执行“事务”:未找到指定的对象存储之一。
并出现在以下代码行中:“var data = active.transaction(["usuarios"], "readwrite");"
谁能帮我这个?这是我的代码:
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");
};
}
Run Code Online (Sandbox Code Playgroud)
这是我第一个使用 indexedDB 的项目,所以我很菜鸟。抱歉,如果这是