我正在尝试实现这个例子。
在我尝试删除某个项目之前,一切正常。
使用这个:
request.onupgradeneeded = function(event) {
console.log("upgrade", event);
db = event.target.result;
console.log("db", db);
if (!db.objectStoreNames.contains("chatBot")) {
var objectStore = db.createObjectStore("chatBot", {keyPath: "timeStamp", autoIncrement: true});
}
};
并设置删除:
btnDelete.addEventListener("click", function() {
var id, transaction, objectStore, request;
id = document.getElementById("txtID").value;
console.log("id", typeof id);
transaction = db.transaction("people", "readwrite");
objectStore = transaction.objectStore("people");
request = objectStore.delete(id);
request.onsuccess = function(evt) {
console.log("deleted content");
};
}, false);
将项目添加到 indexedDB 没有问题,但由于某种原因,我无法弄清楚为什么它不能删除这些项目。
这id
是一个字符串,objectStore.delete(id)
是正确的实现。
这是示例的pastebin
使用火狐 18