1

我正在编写一个 JavaScript/HTML5 Windows 8 应用程序。在写入 IndexedDB 时,我偶尔会收到 InvalidStateError。我的功能在下面,它发生在第一行。有没有办法确保状态正确?

**newEncryptedInfo 是一个带有 2 个字符串参数的 JSON 对象(暂时)。它是正确形成的。

function loadData(evt) {
   var transaction = EncryptedDB.db.transaction("data", "readwrite");
   var encryptStore = transaction.objectStore("data");
   var addResult = encryptStore.add(newEncryptedInfo);
}
4

2 回答 2

2

如果您在创建事务时收到 InvalidStateError,那么原因通常是因为数据库连接已关闭。单击此处了解有关它的更多信息。

于 2012-11-14T18:07:12.080 回答
0

根据 MDN 和 WC3,是因为 objectstore 已被删除或删除或不可用。

MDN

https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore?redirectlocale=en-US&redirectslug=IndexedDB%2FIDBObjectStore

WC3

http://www.w3.org/TR/IndexedDB/#widl-IDBDatabase-transaction-IDBTransaction-any-storeNames-DOMString-mode

我发现在大多数情况下还没有创建对象库。

于 2013-07-22T18:08:13.000 回答