2

私は自分のアプリでWebストレージ用にindexedDbを使用しています。

以下のコードからストアを取得したいと思います。

var store = myapp.indexedDB.db.transaction(['tree_nodes'],'readwrite').objectStore('tree_nodes'); 

エラーを返します。私はindexeddbデータベースを開いてバージョンを変更することでよく知られていました。

エラーはUncaught TypeError: Cannot call method 'transaction' of null

ブレークポイントで試してみました。その場合、エラーなしで正常に動作します。

どうすればストアを入手できますか?私を助けてください。

前もって感謝します!

4

2 に答える 2

5

indexeddb からデータを取得するために必要なことを簡単に説明します。まず、データを取得するためにデータベースを開く必要があります。

var request = indexedDB.open("tree_nodes", v); // first step is opening the database
request.onsuccess = function(e) {
        var db =  e.target.result;
        var trans = db.transaction(["tree_nodes"], 'readwrite'); //second step is opening the object store
        var store = trans.objectStore("tree_nodes");
        
        var request = store.get(id); //getting single object by id from object store
        
        request.onsuccess = function(e) {
            showDetails(e.target.result); // data retreived
            db.close();
        };
        
        request.onerror = function(e) {
                console.log("Error Getting: ", e);
        };
};
于 2012-08-10T14:59:28.693 に答える