【发布时间】:2019-08-21 02:35:39
【问题描述】:
当我尝试插入数据时,出现以下错误:
“未捕获的 DOMException:无法在 'IDBObjectStore' 上执行 'put': 交易已完成。”
我的代码:
request.onsuccess = function(e) {
var ip="kaka";
var res;
console.log("success");
db = request.result;
tx = db.transaction("List","readwrite");
store = tx.objectStore("List");
index = store.index("Name");
displayData(function oncompleted(value) {
console.log('The value is', value);
store.put({
Name: $('#card').val(), IP: value
});
});
}
function displayData(myCallbackFunction) {
//code
myCallbackFunction(set);
}
【问题讨论】:
-
存储前需要序列化数据。使用
JSON.stringify,例如JSON.stringify({Name: 'val-1', IP: 'val-2'}) -
如果我尝试在 displayData "it works" 之外执行相同的 "store.put" 命令,但在这种情况下我将无法使用回调值@Raymond
标签: javascript indexeddb