我正在使用登录/ sigup系统,必须使用某些输入的值来注册它们,但是我遇到了问题。
错误是:
未捕获的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");
};
}
这是我与indexedDB的第一个项目,所以我很菜鸟。对不起,如果这是
最佳答案
我找到了答案,这是var objectDb中的错误,我将D转换为小写,并且可以正常工作。