Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript db.js-将记录添加到IndexedDB时出现问题_Javascript_Html_Google Chrome Extension_Indexeddb_Db.js - Fatal编程技术网

Javascript db.js-将记录添加到IndexedDB时出现问题

Javascript db.js-将记录添加到IndexedDB时出现问题,javascript,html,google-chrome-extension,indexeddb,db.js,Javascript,Html,Google Chrome Extension,Indexeddb,Db.js,我不确定我做错了什么。这与db.js示例几乎相同。我在开发人员工具中看到indexeddb,但我不明白为什么添加记录会引发此错误: 未捕获的数据错误:未能对“IDBObjectStore”执行“add”:该对象存储使用了行外键,没有键生成器,并且未提供键参数 以下是我的模式: schema: { previews: { key: { keyPath: 'id', autoIncrement:

我不确定我做错了什么。这与db.js示例几乎相同。我在开发人员工具中看到indexeddb,但我不明白为什么添加记录会引发此错误:

未捕获的数据错误:未能对“IDBObjectStore”执行“add”:该对象存储使用了行外键,没有键生成器,并且未提供键参数

以下是我的模式:

schema: {
        previews: {
            key: { 
                keyPath: 'id',
                autoIncrement: true 
            },
            indexes: {
                pid: { unique: true },
                title: { },
                url: { }
            }
        }
    }
还有我的add call:

server.previews.add({
    pid: p,
    title: t,
    url: u
});
我最初在索引中有标题和url字段,但实际上,我只需要能够通过pid进行搜索


我还尝试在对象内部和外部传入id:1,但出现了相同的错误。

我找到了解决方案。上面的代码工作得很好。这是为了让它工作而进行的几次迭代,我假设在更新数据库时,数据库正在重建以匹配我的模式定义。事实并非如此。我通过Chrome选项手动删除了数据库,当我重新加载时,它重建了数据库,一切正常。

Tnx!只是经历同样的错误。使用IndexedDB是一件痛苦的事情:处理程序太多,DB版本令人困惑,而您所经历的。。。。