将localStorage值增加一
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将localStorage值增加一相关的知识,希望对你有一定的参考价值。
我正在为我们的应用程序尝试登录功能。他们失败了三次,完全把它们踢出去了。为了计算他们尝试了多少次,我想我会使用localStorage,因为我可以很容易地操作它。但是,当他们无法验证自己时,我无法增加值。
在顶部,我正在设置localStorage变量
localStorage.setItem("attempts", "0")
然后如果服务器返回错误,我试图增加该值。
if(errorCode === 4936){
var attempts = localStorage.getItem("attempts");
localStorage.setItem(attempts++);
console.log(attempts);
}
显然这不起作用,但是当我研究设置并且无需更新或更改本地存储时,我所能找到的只是。任何帮助都会很精彩!
答案
您正在尝试增加一个字符串,并尝试setItem
而不给出密钥名称。那样不行。
localStorage.setItem('attempts',parseInt(localStorage.getItem('attempts'))+1);
你的案子是:
if (errorCode == 4936) {
var attempts = parseInt(localStorage.getItem("attempts"));
localStorage.setItem("attempts", attempts++);
console.log(attempts);
}
另一答案
这里有3个问题
- 您需要在递增之前将尝试次数转换为数字
- 在第二组语句中,您没有再次指定密钥
- 您正在分配错误代码,而不是检查它是否等于4936
localStorage.setItem("attempts", "0");
if(errorCode == 4936){ // double equal is need to compare. Single equals is an assignment operator
var attempts = Number(localStorage.getItem("attempts"));
localStorage.setItem("attempts", ++attempts);
console.log(attempts);
}
另一答案
根据localstorage setItem
的文档,只接受DomString(UTF-16 String)。所以答案应该是
if (errorCode === 4936) {
var attempts = (parseInt(localStorage.getItem('attempts'))+1);
localStorage.setItem("attempts", attempts.toString());
console.log(attempts);
}
以上是关于将localStorage值增加一的主要内容,如果未能解决你的问题,请参考以下文章
layui当点击增加的时候,将form中的值获取的添加到table行中代码
localStorage sessionStorage 增强版
有没有办法增加谷歌浏览器中 localStorage 的大小以避免 QUOTA_EXCEEDED_ERR: DOM Exception 22