IndexedDb登录函数

6rqinv9w  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(1)|浏览(160)

我已经用indexedDB工作了几个小时了。我正在尝试创建一个注册和登录系统。注册工作得很好,但是下面的登录代码不起作用。这个错误出现在onsuccess之后的第一个警告中。有人能帮我找出错误在哪里吗?谢谢。

function getUser(e) {

 var email = document.querySelector("#email").value;
 var password = document.querySelector("#password").value;

 console.log("About to login "+email);

 var transaction = db.transaction(["users"]); //readonly
 var objectStore = transaction.objectStore("users");
 var request = objectStore.get(email);

 request.onerror = function(e) {
  alert("Unable to retrieve data from database!");
  return;
 };
 request.onsuccess = function(e) {
  alert(password " " + request.result.password);
  if(password != request.result.password) {
   alert("Could not log you in");
   return;
  } 
  console.log("You are logged in");

 };
rkkpypqq

rkkpypqq1#

javascript中的 IndexedDB :我有个办法。
这个解决方案对我很有效。您需要通过调用get()方法使用索引来读取数据。
程式码片段:

function(e) {
    var email = document.querySelector("#email").value;
    var password = document.querySelector("#password").value;
    db = e.target.result;
    var tx = db.transaction(["users"], "readonly");
    var store = tx.objectStore("users");
    // get the index from the Object Store
    const index = store.index('email');
    // query by indexes
    var query = index.get(key);
    query.onsuccess = function(e) {
        console.log(query.result)
        if(query.result)
        {
            if(password != query.result.password) {
                alert("In-correct Credentials... Please check and try 
                again!!!");
            }
         else{
             alert('success');                 
          }
       }
    };
};

有关参考信息,请访问:https://www.javascripttutorial.net/web-apis/javascript-indexeddb/

相关问题