2012-05-09 9 views
2
にデータを追加

私のオブジェクト構造は、このようなものです:DOM IDBDatabase例外5のIndexedDB

var test={ 
     "id":"A", 
     "ChanName":"Discovery", 
     "LCN":10 
     }; 

これは、オブジェクトストアを作成するスニペットです:

var objectStore = db.createObjectStore('Dat', { keyPath:'test.id',autoIncrement: false}); 

var trans = db.transaction(["Dat"], webkitIDBTransaction.READ_WRITE); 
     var store = trans.objectStore("Dat"); 
     var request=store.put(test); 

私はテストを追加しようとするとオブジェクトこの例外が発生するDATA_ERR:DOM IDBDatabase Exception 5.ここで何が間違っているかアドバイスできますか?私はこれをテストするためにクロム18を使用しています。オブジェクトストアの作成は問題ありませんが、データを追加できません。

答えて

3

「操作に提供されたデータが要件を満たしていません。これは、通常、属性を欠いているオブジェクトを提供しているときなどに、インデックスを追加したためです。

ここでは、testオブジェクトがキーパスとして指定したオブジェクトと一致しないようです。

あなたのcreateObjectStoreがこのようでなければならないであろうキーとしてidたい場合:あなたのtestオブジェクトがあるとして、あなたのキーパスで、代わりに、別の例として

var objectStore = db.createObjectStore('Dat', { keyPath:'id',autoIncrement: false}); 

がないように、このように見える必要があるだろうこのエラーをスローする:

var test={ 
test: { "id":"A" }, 
ChanName:"Discovery", 
LCN:10 
}; 
関連する問題