Google chrome IndexedDB在Chrome中放入/添加失败(适用于所有网站)

Google chrome IndexedDB在Chrome中放入/添加失败(适用于所有网站),google-chrome,indexeddb,Google Chrome,Indexeddb,在Chrome上使用IndexedDB进行了一些成功的开发之后,所有的写操作都停止了,没有给出任何错误。 狩猎一切都很好 下面是一个简单的示例不起作用: var db = null; var req = indexedDB.open("TestDb", 1); req.onsuccess = function(event) { db = event.target.result; db.onerror = function(event) { err

在Chrome上使用IndexedDB进行了一些成功的开发之后,所有的写操作都停止了,没有给出任何错误。 狩猎一切都很好

下面是一个简单的示例不起作用:

var db = null;
var req = indexedDB.open("TestDb", 1);

req.onsuccess = function(event) {
    db = event.target.result;
    db.onerror = function(event) {
      error('Error: ', event.target.errorCode);
    };

    var os = db.transaction(['users'], "readwrite").objectStore('users');
    req = os.put({id: 2, name: 'Benoît'});

    req.onsuccess = function (event) {
        console.log('Put success', event.target.result);

        var os = db.transaction(['users'], "readwrite").objectStore('users');
        var req = os.get(2);
        req.onsuccess = function(event) {
            console.log('Get success', event.target.result);
        }

    };
    req.onerror = function (event) {
        console.log('error', event);
    };
};

req.onupgradeneeded = function(ev) {
    console.log('db upgradeneeded', ev);
    var db = ev.target.result, objectStore;

    if (ev.oldVersion < 1) {
        objectStore = db.createObjectStore('users', {keyPath: "id"});
        objectStore.createIndex("name", "name", {unique: false});
    }
};
var db=null;
var req=indexedDB.open(“TestDb”,1);
req.onsuccess=函数(事件){
db=event.target.result;
db.onerror=函数(事件){
错误('error:',event.target.errorCode);
};
var os=db.transaction(['users',“readwrite”).objectStore('users');
req=os.put({id:2,名称:'Benoît'});
req.onsuccess=函数(事件){
log('Put success',event.target.result);
var os=db.transaction(['users',“readwrite”).objectStore('users');
var req=os.get(2);
req.onsuccess=函数(事件){
log('Get success',event.target.result);
}
};
req.onerror=功能(事件){
console.log('错误',事件);
};
};
req.onupgradeneeded=功能(ev){
console.log('db upgradeneeded',ev);
var db=ev.target.result,objectStore;
如果(ev.oldVersion<1){
objectStore=db.createObjectStore('users',{keyPath:'id});
createIndex(“名称”、“名称”{unique:false});
}
};
生成控制台日志:

把成功放在第二位

获得未定义的成功


实际上磁盘上没有足够的空间


正如@Joshua Bell所说,查询成功,但事务中止,因此您需要观察
transaction.onabort
以发出错误消息。

对于其他调试,请向事务添加oncomplete和onabort处理程序:
var tx=db.transaction(['users',“readwrite”),os=tx.objectStore('users');tx.oncomplete=function(){console.log('completed');};tx.onabort=function(){console.log('aborted');}@Thered当您只使用一个事务时,是否会发生错误?谢谢各位,但我只有一个磁盘空间问题。应该抛出一个错误,但无论如何,它是好的!是的-这会导致事务中止,但没有特定的请求会有错误。这就是为什么观察中止事件是个好主意。这结束了半小时混乱的咒骂。不看《onabort》的《代码》把我迷住了。非常感谢。