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