2012-04-30 13 views
2

コード:DATA_ERR:ChromeのDOM IDBデータベース例外5、修正方法このような

var transaction = db.transaction(["main"], IDBTransaction.READ_WRITE); 
var store = transaction.objectStore("main"); 
var request = store.add(object); 

はそれがFirefoxで正しく動作しますが、Chromeで、それは "DATA_ERR:DOM IDBDatabase例外5" をスローし、最後の行に。この例外は何を意味しますか?それを修正するには?

答えて

2

ObjectStoreにautoIncrement:trueが設定されている場合、Chromeはこのエラーをスローします。 [source]

+0

via [Bea](http://stackoverflow.com/users/438457/bea) - このバグはまだChromeの現在の安定版(18.0.1025.168のように4月5日に存在するようです) 2012年)。Canaryビルドで修正されています(出血の問題、最も安定性が低い)。私が今テストする立場にないBetaとDevのチャンネルがどういう状態であるかわからない。 Chromeは今あなたのために働いていますか? " –

1

IndexedDB Exception 5は、「操作に提供されたデータが要件を満たしていない」ことを意味します。これは、通常、その属性が欠けているオブジェクトを提供しているときなど、一意のインデックスを追加したためです。

インデックス付きの属性が不足していると思われますが、この質問に確実に答えるには、mainオブジェクトストアのセットアップコードとobjectのJSON表現が必要です。

+0

Google Chromeのバグだったようです。今日はコード変更なしで作業になります。とにかく説明をありがとう – Alex

1

(a)データベースバージョンをアップグレードしたときに旧バージョンに書き込んでいたとき、(b)エラーを追加して奇妙に修正された別のケースの2つの場合がありました。 onsuccessハンドラ、そうです。おそらくこれらのうちの1つがあなたのために働くでしょう...

req.onerror = function() { 
    console.log("Oppsie!"); 
} 
req.onsuccess = function() { 
    console.log("Hurrah!"); 
} 
1

このエラーは多くの理由によって発生します。私はそれがLinux Chromeバージョン22.0.1197.0(145517)のバグかもしれないと信じています。 Firefoxと同じコードを使用しましたが、Chromeでこのエラーが発生しました。私はすべてをクリアしようとしました。最後に、私はコマンド:

./chrome --user-data-dir=/tmp/chrome 

でChromeを起動しました。

関連する問題