Javascript 不更改值的本地存储

Javascript 不更改值的本地存储,javascript,html,Javascript,Html,我正在使用本地存储来存储凭据和登录详细信息。它工作得很好,但当我试图改变这个值时,它并没有改变 这是登录的代码 login.html <script type="text/javascript"> window.localStorage.setItem("login", "true"); window.localStorage.setItem("email", data.email);

我正在使用本地存储来存储凭据和登录详细信息。它工作得很好,但当我试图改变这个值时,它并没有改变

这是登录的代码

login.html

 <script type="text/javascript">


                window.localStorage.setItem("login", "true");
                window.localStorage.setItem("email", data.email);
                window.localStorage.setItem("id", data.uid);    
                window.localStorage.setItem("name", data.name);                                 



</script> 
window.localStorage.setItem("login", "false");
由于某些原因,我总是在logout.html文件中获得
login=true

有人告诉我我做错了什么

编辑:


代码没有问题。它工作得很好。我是直接访问文件的,这就是它没有改变的原因。

猜测:您正在使用类似

if(window.localStorage.getItem("login"))
这是真的。如果是这种情况,那是因为任何非空字符串都会产生true。如果是这样的话,试试看

if(window.localStorage.getItem("login")==="true")


一个猜测:你正在使用类似

if(window.localStorage.getItem("login"))
这是真的。如果是这种情况,那是因为任何非空字符串都会产生true。如果是这样的话,试试看

if(window.localStorage.getItem("login")==="true")


您是否尝试删除该项目

window.localStorage.removeItem("login");
window.localStorage.setItem("login", "false");

您是否尝试删除该项目

window.localStorage.removeItem("login");
window.localStorage.setItem("login", "false");

也许,你应该使用

JSON.parse(localStorage.getItem("login"))

这将使您的项目成为布尔值true或false

也许,您应该使用

JSON.parse(localStorage.getItem("login"))

这将使您的项目成为布尔值true或false

这对我很有用。你肯定有别的事情不管用

<script type="text/javascript">


    localStorage.setItem("login", true); 
    alert(localStorage.getItem('login'));

    localStorage.setItem("login", false);
    alert(localStorage.getItem('login'));

</script> 

setItem(“login”,true);
警报(localStorage.getItem('login');
setItem(“login”,false);
警报(localStorage.getItem('login');
也可以使用引号

<script type="text/javascript">


    localStorage.setItem("login", "true"); 
    alert(localStorage.getItem('login'));

    localStorage.setItem("login", "false");
    alert(localStorage.getItem('login'));

</script> 

setItem(“login”、“true”);
警报(localStorage.getItem('login');
setItem(“login”、“false”);
警报(localStorage.getItem('login');
这里是检查

<script type="text/javascript">


    localStorage.setItem("login", "true");

    if(localStorage.getItem("login")==="true"){
        alert('Value is True')
    }

    localStorage.setItem("login", "false");

    //login is false so this will not fire
    if(localStorage.getItem("login")==="true"){
        alert('Value is True')
    }

</script> 

setItem(“login”、“true”);
if(localStorage.getItem(“登录”)=“true”){
警报('值为True')
}
setItem(“login”、“false”);
//登录为false,因此不会触发此操作
if(localStorage.getItem(“登录”)=“true”){
警报('值为True')
}

这对我很有用。你肯定有别的事情不管用

<script type="text/javascript">


    localStorage.setItem("login", true); 
    alert(localStorage.getItem('login'));

    localStorage.setItem("login", false);
    alert(localStorage.getItem('login'));

</script> 

setItem(“login”,true);
警报(localStorage.getItem('login');
setItem(“login”,false);
警报(localStorage.getItem('login');
也可以使用引号

<script type="text/javascript">


    localStorage.setItem("login", "true"); 
    alert(localStorage.getItem('login'));

    localStorage.setItem("login", "false");
    alert(localStorage.getItem('login'));

</script> 

setItem(“login”、“true”);
警报(localStorage.getItem('login');
setItem(“login”、“false”);
警报(localStorage.getItem('login');
这里是检查

<script type="text/javascript">


    localStorage.setItem("login", "true");

    if(localStorage.getItem("login")==="true"){
        alert('Value is True')
    }

    localStorage.setItem("login", "false");

    //login is false so this will not fire
    if(localStorage.getItem("login")==="true"){
        alert('Value is True')
    }

</script> 

setItem(“login”、“true”);
if(localStorage.getItem(“登录”)=“true”){
警报('值为True')
}
setItem(“login”、“false”);
//登录为false,因此不会触发此操作
if(localStorage.getItem(“登录”)=“true”){
警报('值为True')
}


您在脚本标记下使用的js代码与login.html中的相同?是。我在里面像在login.html页面一样使用它。它应该可以工作。通过在Chrome/Firefox中打开控制台,可以查看是否正在将值写入localStorage。按
f12
-->
应用程序
-->
本地存储
(在左侧)。我在那里进行了检查,仍然可以看到login=true。签入firefox和chromeplease后,会提供一个“您正在使用与login.html中相同的脚本标记下的js代码吗?是的。”。我在里面像在login.html页面一样使用它。它应该可以工作。通过在Chrome/Firefox中打开控制台,可以查看是否正在将值写入localStorage。按
f12
-->
应用程序
-->
本地存储
(在左侧)。我在那里进行了检查,仍然可以看到login=true。登录firefox和chromeplease提供了一个“登录时工作正常,可以在其他页面上进行检查,但当我尝试注销时。我假设它将使login=false。但这并没有发生。请在您的帖子中添加工作正常的内容,我指的是从存储中读取值的代码行。如果您有问题,某些内容显然无法正常工作,我认为它的编写有问题。“出于某种原因,我总是得到login=true”@CalculatingMachine它工作正常,请通过清除缓存或更改代码重试。添加从本地存储读取的代码。让其他人来测试你的案例。由于某种原因,您的代码失败。在没有看到它的情况下,没有人知道什么failedit可以很好地用于登录,并且可以在其他页面上进行检查,但当我尝试注销时。我假设它将使login=false。但这并没有发生。请在您的帖子中添加工作正常的内容,我指的是从存储中读取值的代码行。如果您有问题,某些内容显然无法正常工作,我认为它的编写有问题。“出于某种原因,我总是得到login=true”@CalculatingMachine它工作正常,请通过清除缓存或更改代码重试。添加从本地存储读取的代码。让其他人来测试你的案例。由于某种原因,您的代码失败。没有看到它,没有人知道什么失败了。然而,我被否决了。谢谢你的帮助。投票通过了。然而,我被否决了。谢谢你的帮助。投票通过了。然而,我被否决了。谢谢你的帮助。投票通过了。然而,我被否决了。谢谢你的帮助。