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 によると、オブジェクトストアが削除または削除されたか、利用できないためです。

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 に答える