1
IndexDBで2つのオブジェクトを開き、入力値からデータを取得しようとすると、上記のエラーが発生します。Uncaught TypeError:nullopenRequest.onupgradeneededのプロパティ 'value'を読み取ることができませんIndexeddb
openRequest.onupgradeneeded = function(e) {
var thisDB = e.target.result;
var tab1Create = thisDB.createObjectStore("users", {keyPath: "phone"});
var tab2Create = thisDB.createObjectStore("Friends", {keyPath: "frdphone"});
db = e.target.result;
var transaction = e.target.transaction;
var phone = document.querySelector("#phone").value;
var email = document.querySelector("#email").value;
var frdphone = document.querySelector("#frdphone").value;
var frdname = document.querySelector('#frdname').value;
var friend = transaction.objectStore('Friends');
friend.add({
frdname:frdname,
frdphone:frdphone
});
var user = transaction.objectStore('users');
//Perform the add
user.add({
phone :phone,
email :email
});
null値を修正していただきありがとうございます。 "Uncaught DataCloneError: 'IDBObjectStore'で 'add'を実行できませんでした:オブジェクトをクローンできませんでした。何が問題なの? –
これ以上の文脈ではわかりません。これは '.add()'に渡されたオブジェクトがクローン化できなかったことを示しています。与えられたコードサンプルでは、文字列を含むオブジェクトを渡すように見えますが、これは問題ありません。 –
推測: 'var phone = document.querySelector("#phone ")を変更しましたか? 'to' 'var phone = document.querySelector("#phone ");'?これは、 'phone'が要素を参照しており、要素を複製できないことを意味します。 'console.log(...)'を実行するか、他のデバッグ方法を試して、コードが期待したことをしていない理由を理解することをお勧めします。 –