Javascript Can';t在indexedDB中输入后立即调出用户信息

Javascript Can';t在indexedDB中输入后立即调出用户信息,javascript,html,local-storage,indexeddb,Javascript,Html,Local Storage,Indexeddb,我有一张带索引的登记表。我已重新注册/登录工作。我一直在尝试不同的事情,以获得一个新的注册登录一旦他们注册,但我不知道会发生什么。这行不通。localStorage设置为它应该设置的,但它不会显示用户的数据 JS: 从我所看到的,第一部分将用户添加到数据库中,第二部分的行为应与我刚才正常登录时的行为相同。但它不会从数据库中提取信息 我尝试将新用户设置为localStorage,这是我识别当前登录的用户的方式,但也没有效果 这是我的网站:看起来您正在使用loginCheck方法中的onsucces

我有一张带索引的登记表。我已重新注册/登录工作。我一直在尝试不同的事情,以获得一个新的注册登录一旦他们注册,但我不知道会发生什么。这行不通。localStorage设置为它应该设置的,但它不会显示用户的数据

JS:

从我所看到的,第一部分将用户添加到数据库中,第二部分的行为应与我刚才正常登录时的行为相同。但它不会从数据库中提取信息

我尝试将新用户设置为localStorage,这是我识别当前登录的用户的方式,但也没有效果


这是我的网站:

看起来您正在使用
loginCheck
方法中的
onsuccess
处理程序,但在数据库上调用
put
时,您没有这样做。我的猜测是,在用户有机会被添加之前,您正在检查该用户是否存在。试试这个:

//Add item
var request = myusers.put(new getUser(userName,fName,lName,pass,email,dob,tel,bio,terms,school,gender));
request.onsuccess = function () {

    // Show all results.
    if(document.URL.indexOf('admin.html') > -1){
        mytransaction.addEventListener('complete', showUsers);  
    } 

    //Log in new users
    loginCheck(userName,pass);
    /*newLocal('user',user); */
    //Reset Form Fields
    resetForm(); 
}

我尝试了这一点,但它给了我一个错误,即用户不在数据库中,当我在控制台中检查我的数据库时,用户密钥在那里,但对象为null。我试着成功地改变到成功,但也没有帮助
function loginCheck(user,pass){    
db.transaction("users").objectStore("users").get(user).onsuccess = function(e) {
    var loggedUser = e.target.result;
        if(!loggedUser){
            alert('Sorry, Username does not exist. Please try again.');
        }else if(pass !== loggedUser.pw ){
            alert('Incorrect log in combination. Please try again.');
            }else{
                loggedIn(loggedUser);
                populateFields(loggedUser);
                loginStyle(loggedUser)
                }        
    }    
}
function loggedIn(loggedUser){
    var u=loggedUser;
    alert('Welcome '+u.fn+' '+u.ln+' to Macroplay');       

    //Set localStorage     
    var signedin = 'user';
    var username = u.userName;
    newLocal(signedin,username);
}
function getValues(){ 
db.transaction("users").objectStore("users").get(localStorage.user).onsuccess = function(e) { 
    populateFields(e.target.result); 
    loginStyle(e.target.result)
    }; 
    ;
}
//Add item
var request = myusers.put(new getUser(userName,fName,lName,pass,email,dob,tel,bio,terms,school,gender));
request.onsuccess = function () {

    // Show all results.
    if(document.URL.indexOf('admin.html') > -1){
        mytransaction.addEventListener('complete', showUsers);  
    } 

    //Log in new users
    loginCheck(userName,pass);
    /*newLocal('user',user); */
    //Reset Form Fields
    resetForm(); 
}