0

我正在尝试更新我的 indexedDB 记录,但出现此错误

DataError:提供给操作的数据不符合要求。源文件

我已经尝试过了,但没有奏效

这是我的功能:

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');
  };

任何人都可以帮我解决这个问题吗?

此致

4

1 回答 1

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');
  };


}
于 2013-02-11T13:33:39.593 回答