.add를 사용하여 objectStore에 객체를 추가하려고하면 콘솔에 다음 오류가 표시됩니다. DataError : 요구 사항을 충족시키지 못한다. 누군가가이 오류의 출처를 알 수 있다면 정말 도움이 될 것입니다. 다음 코드입니다.오류 indexedDB에 객체를 추가 할 때 "조작에 제공된 데이터가 요구 사항을 충족하지 않습니다"
var request = objStore.add({tarea: todo, clase: "pendiente"});
var db;
function create_to_do(){
var todo = document.querySelector('#the-do').value;
var transaction = db.transaction("to_do", "readwrite");
transaction.oncomplete = function(eve){
console.log("all done¡")
}
transaction.onerror= function(eve){
console.log("something went wrong: "+ eve.target.errorCode);
};
var objStore = transaction.objectStore("to_do");
var request = objStore.add({tarea: todo, clase: "pendiente"});
request.onsuccess = function(eve){
console.log("all done¡");
console.log(eve.target.result);
};
}
function indexDB(){
var request = indexedDB.open('todos', 1);
request.onsuccess = function (evt) {
db = this.result;
console.log("Database Opened");
};
request.onerror = function (evt){
console.log("OpenDB error: " + evt.target.errorCode);
};
request.onupgradeneeded = function(evt){
store = evt.currentTarget.result.createObjectStore("to_do",
{keyPath: 'id', autoIncrement: true});
store.createIndex('clase', 'clase', {unique: false});
console.log("index created");
};
}
tarea 속성의 값은 무엇입니까? 제가 예제를 보면 여러분의 경우 변수입니다. JSON에서 직렬화 할 수없는 함수 또는 함수라면 저장할 수 없습니다. –