我遇到了关于本地存储获取和设置的障碍。
场景:我从表单元素插入数据并将其缓存在对象中,并将此对象推入数组中。所以每次我将数据输入表单元素时,这些数据都存储在一个对象中,并且该对象被推送到一个数组中。在数组userAry.push(newUser)
中推送对象后。
我在localstorage中有setItem
数组
localStorage.setItem('userDataStore',JSON.stringify(userAry))
内部document.ready
我有
$('#getResult').html(localStorage.getItem('userDataStore'))
问题:
在document.ready
内,$('#getResult').html(sessionStorage.getItem('userDataStore'))
未显示数组。相反,它只显示最近添加的数据。
如果我连续两次填写表格,那么在页面刷新之后它会显示这两个数据。但是,如果我添加另一个数据并刷新页面,它应显示3个数据,而不是显示最近添加的数据。
代码:
var newUser = {
userName : username,
userPhno : userphno,
userEmail : useremail,
userPass : userpass,
userConfirmpass : userconfirmpass,
}
userAry.push(newUser);
localStorage.setItem('userDataStore',JSON.stringify(userAry));
内部document.ready
我有
$('#getResult').html(sessionStorage.getItem('userDataStore'));
答案 0 :(得分:0)
在文档就绪时,您也应该设置变量userAry。不仅填充HTML内容。然后,当你推送一个新项目时,它会将它添加到已经创建的其他项目,然后当你存储数组时,你不仅存储新添加的用户
userAry = sessionStorage.getItem('userDataStore');
$("#getResult").html(userAry);
答案 1 :(得分:0)
在您的代码中,将此行localStorage.setItem('userDataStore',JSON.stringify(userAry));
替换为sessionStorage.setItem('userDataStore',JSON.stringify(userAry));
在下面的代码中查看如何从sessionStorage获取,设置和删除数据。
例如:
// Save data to sessionStorage
sessionStorage.setItem('key', 'value');
// Get saved data from sessionStorage
var data = sessionStorage.getItem('key');
// Remove saved data from sessionStorage
sessionStorage.removeItem('key');
// Remove all saved data from sessionStorage
sessionStorage.clear();
答案 2 :(得分:0)
@NoviceCoder,要使用本地存储,您可以在scenerio下面尝试。
response = ['A', 'B', 'C', 'D'];
localStorage.setItem("marketPlaceNames", JSON.stringify(response)) // to set value
JSON.parse(localStorage.getItem("marketPlaceNames")) // to get value