javascript - 在indexedDB中添加对象时报错 "Data provided to an operation does not meet requirements"

标签 javascript indexeddb

当我尝试使用 .add 将对象添加到 objectStore 时,控制台显示此错误: DataError:提供给操作的数据不符合要求。 如果有人能说出此错误的来源,那将真正帮助我。这是代码:

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");
  };
}

最佳答案

尝试 keyPath: 'keyPath'autoIncrement: false 提供“主键”后,您必须将 autoIncrement 设置为 false 参见 here

关于javascript - 在indexedDB中添加对象时报错 "Data provided to an operation does not meet requirements",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15028403/

相关文章:

javascript - JS onClick 返回 false 和 jQuery 全局 .click

android - Android 上的 Chrome 浏览器 : Granted Quota for IndexedDB suddenly almost 0

javascript - 如何更新 indexedDB 中的数据?

html - 使用 indexedDB 时出现错误 "Operation failed because the requested database object could not be found..."

javascript - 我如何才能等到 IndexedDB 实例关闭?

javascript - 在没有map.onMouseMove的情况下在GoogleMaps中获取光标下的纬度和经度

javascript - 函数不可能返回构造函数并创建新实例吗?

javascript - 重定向到 php 页面后使用 javascript 显示消息

javascript - 如何让 luxon 在时区输出不带冒号的 ISO 日期格式

javascript - 正确初始化 IndexedDB 对象存储