2016-04-11 3 views
1

Я пытаюсь реализовать автоматический логин для пользователя, используя Запомнить меня функциональность.JQuery Auto login using localStorage

Вот мой код. Но он автоматически не вводит пользователей в систему.

if (localStorage.getItem("username") != null) { 
    var username = localStorage.getItem("username"); 
    var password = localStorage.getItem("password"); 
    $('#txtusername').val(username); 
    $('#txtpwd').val(password); 
    $.post("../../T").done(function (d) { 
    location.replace("../.../menu"); 
    }); 
} else { 
    console.log("Don't have any key inside localStorage"); 
} 

Я сохранил элементы с помощью:

$('#remember').click(function() { 

    $('#btnSignIn').click(function() { 
     if ($('#remember').is(':checked')) { 
      localStorage.setItem("username", $("#txtusername").val()); 
      localStorage.setItem("password", $("#txtpwd").val()); 
      console.log("Items saved !") 
     } else { 
      localStorage.removeItem("username"); 
      localStorage.removeItem("password"); 
     } 
    }) 

}); 

EDIT

  • Как напрямую пользователю войти в меню страницу после того, как я заполнил текстовое поле ? Недостаточно использовать location.replace("... Пропустить что-нибудь?
+0

Вы получаете 'Username' и' Pwd'? –

+0

@too_cool да, я сделал. А также с помощью '$ ('# txtusername'). Val (username);' для заполнения 'txt'. – H2O

+0

@QuentinRoger Я согласен с вами. Я просто пытаюсь использовать эту альтернативу :) Но мой вопрос заключается в том, что теперь он не будет автоматически входить в систему. – H2O

ответ

0

Я думаю, что это будет более эффективным, и я решил использовать $.post для моего сценария вместо триггера кнопку login снова ,

var username = localStorage.getItem("username"); 
var password = localStorage.getItem("password"); 
$('#txtusername').val(username); 
$('#txtpwd').val(password); 
if(username && password) { 
    var userObject = { username: $("#txtuser...... }; //values 
    $.post("../../T", userObject) 
} else { 
    console.log("Don't have any key inside localStorage"); 
} 

Спасибо за все ответы тоже ..!

2
var username = localStorage.getItem("username"); 
var password = localStorage.getItem("password"); 
if(username != null && password != null) { 
    window.location.href = "../.../menu" // Assign your url to location href 
} else { 
    console.log("Don't have any key inside localStorage"); 
} 
3

Просто имитировать click на кнопке рабочей Вход

var username = localStorage.getItem("username"); 
var password = localStorage.getItem("password"); 
$('#txtusername').val(username); 
$('#txtpwd').val(password); 
if(username && password) { 
    $("#loginButton").click(); 
// Your existing login button...which you use for normal login 
} else { 
    console.log("Don't have any key inside localStorage"); 
} 
+0

Не авторизуйтесь автоматически, используя этот код. – H2O

+0

Вы изменили кнопку 'loginButton' на свою кнопку входа' ID' –

+0

, конечно. чтобы войти, хотя элементы уже находятся в 'localStorage'. – H2O