2012-05-09 52 views
2
添加數據時

我的對象結構是這樣的:DOM IDBDatabase異常5在索引資料

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異常5.請你可以建議這裏有什麼問題嗎?我使用chrome 18來測試這個。對象存儲的創建很好,但不能添加數據

回答

3

當「提供給操作的數據不符合要求」時,會引發IndexedDB異常5。這通常是因爲您已添加索引,例如,提供缺少該屬性的對象。

此處看起來您的test對象與您指定爲關鍵路徑的對象不匹配。

如果你想id作爲一個關鍵的createObjectStore必須是這樣的:

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

作爲又一個例子,或者,你的keyPath因爲是你test對象需要像這樣不拋出此錯誤:

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