【问题标题】:How to store data in browser local-storage如何在浏览器本地存储中存储数据
【发布时间】:2014-12-26 02:04:57
【问题描述】:

我试图不使用数据库,而是使用浏览器本地存储作为登录示例。我的意思是当用户提供“用户名”和“密码”时,它将从浏览器本地存储中检查,然后能够登录。 我正在使用 HTML5 的 localStorage.setItem 和 localStorage.getItem 来获取数据并显示它。 这是我的代码-

var user_name=document.getElementById('userName').value;
var user_pswd=document.getElementById('password').value;                  
localStorage.setItem("user", user_name);
localStorage.setItem("pass", user_pswd);                    
// Retrieve                    
document.getElementById("output").innerHTML = localStorage.getItem("user");

设置数据并显示用户名,但是重启浏览器后是否可以获取数据?首次尝试登录时,如何查看浏览器数据?任何帮助都非常感谢..

【问题讨论】:

标签: javascript html local-storage


【解决方案1】:

重启浏览器不会删除本地存储数据。

您可以检查是否有两个键(用户名,密码)的数据,条件如下

if ((localStorage.getItem("userName") !== null) && (localStorage.getItem("password") !== null))
{
    // you have values for both userName and password
}

对于您的情况,您可以测试文本框值是否与本地存储中的值匹配

if ((localStorage.getItem("userName") === null) && (localStorage.getItem("password") === null))
{
    localStorage.setItem("user", "Subho"); // writes name and password to local storage if not exists
    localStorage.setItem("pass", "Subho"); 
}

if ( (localStorage.getItem("user") == document.getElementById('userName').value)
{
    if ( (localStorage.getItem("pass") == document.getElementById('password').value)
    {
        // login is successful
    }           
}

但这不是一种安全的登录方式,用户可以访问本地存储数据

【讨论】:

  • 谢谢你的回答,但你能解释更多吗..让用户名和密码都是'Subho'。登录时如何使用文本框的值检查 localStorage 的值??
  • 我已经更新了答案,但我必须提醒你,这不是用户登录的推荐方式
  • 还有其他方法吗??像会话什么的??
  • 对我来说同样的问题。如何使用缓存或使用会话存储数据?因为本地存储数据每次都会显示在浏览器的控制台上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多