我正在尝试更新我的indexedDB记录但是我收到此错误
DataError:提供给操作的数据不符合要求。 源文件
我已经尝试this但是没有工作
这是我的功能:
function updNotes(text, timestamp, blob)
{
var obj = {text: text, timestamp: timestamp};
if (typeof blob != 'undefined')
obj.image = blob;
store = getObjectStore("notes", 'readwrite');
objKeyRange = IDBKeyRange.only(+objtoedit);
req = store.openCursor(objKeyRange);
req.onsuccess = function(evt){
var cursor = evt.target.result;
console.log(cursor.key);
//do the update
var objRequest = cursor.update(obj);
objRequest.onsuccess = function(ev){
console.log('Success');
};
objRequest.onerror = function(ev){
console.log('Error');
};
};
req.onerror = function(evt){
console.log('Error');
};
任何人都可以帮我解决这个问题吗?
祝你好运
答案 0 :(得分:0)
我弄清楚如何做到这一点。 这个功能解决了我的问题。
function updNotes(id, text, timestamp, blob)
{
console.log(id);
store = getObjectStore("notes", 'readwrite');
req = store.get(+id);
req.onsuccess = function(evt){
var data = evt.target.result;
data.text = text;
data.timestamp = timestamp;
if (typeof blob != 'undefined')
data.image = blob;
//do the update
var objRequest = store.put(data);
objRequest.onsuccess = function(ev){
console.log('Success in updating record');
};
objRequest.onerror = function(ev){
console.log('Error in updating record');
};
};
req.onerror = function(evt){
console.log('Error in retrieving record');
};
}