Javascript 在本地存储中存储阵列
我有一个包含多个问题的测验页面,该页面一次显示一个问题。问题的答案显示在按钮中。无论何时按下按钮,都会从数据库中抓取第二个问题并显示出来。我有一个脚本,它将按下按钮的值放入一个数组中,但是当页面被重新加载时,数组被清空。我被告知使用localstorage,但我不知道这是如何工作的,这是我目前用于在阵列中存储数据的代码:Javascript 在本地存储中存储阵列,javascript,php,jquery,arrays,html,Javascript,Php,Jquery,Arrays,Html,我有一个包含多个问题的测验页面,该页面一次显示一个问题。问题的答案显示在按钮中。无论何时按下按钮,都会从数据库中抓取第二个问题并显示出来。我有一个脚本,它将按下按钮的值放入一个数组中,但是当页面被重新加载时,数组被清空。我被告知使用localstorage,但我不知道这是如何工作的,这是我目前用于在阵列中存储数据的代码: $( document ).ready(function() { var antwoordenObject1= new Array();
$( document ).ready(function() {
var antwoordenObject1= new Array();
$('.btn').click(function() {
antwoordenObject1.push($(this).val());
alert("newArray contents = "+ antwoordenObject1);
});
});
我发现这段代码用于将数组放入localstorage,但不知道如何将这两者结合起来:
var complexdata = [1,2,3,4,5,6];
// store array data to the localstorage
localStorage.setItem("list_data_key", JSON.stringify(complexdata));
//Use JSON to retrieve the stored data and convert it
var storedData = localStorage.getItem("complexdata");
if (storedData) {
complexdata = JSON.parse(storedData);
}
document.write(complexdata);
像这样:
$( document ).ready(function() {
var antwoordenObject1 = localStorage.getItem("antwoorden");
antwoordenObject1 = antwoordenObject1 ? JSON.parse(antwoordenObject1) : [];
$('.btn').click(function() {
antwoordenObject1.push($(this).val());
localStorage.setItem("antwoorden", JSON.stringify(antwoordenObject1));
alert("newArray contents = "+ antwoordenObject1);
});
});
像这样:
$( document ).ready(function() {
var antwoordenObject1 = localStorage.getItem("antwoorden");
antwoordenObject1 = antwoordenObject1 ? JSON.parse(antwoordenObject1) : [];
$('.btn').click(function() {
antwoordenObject1.push($(this).val());
localStorage.setItem("antwoorden", JSON.stringify(antwoordenObject1));
alert("newArray contents = "+ antwoordenObject1);
});
});
您必须使用
.setItem()
和.getItem()
本地存储的方法
注意:LocalStorage只能存储字符串。因此,如果您尝试:
var a={
测试:“foo”
}
setItem(“测试”,a);
它将存储[对象]
,而不是对象本身。对于数组,它将是逗号分隔的字符串
您必须使用
JSON.stringify
和JSON.parse
以及localStorage
的.setItem()
和.getItem()
方法进行正确通信。您必须使用本地存储的方法
注意:LocalStorage只能存储字符串。因此,如果您尝试:
var a={
测试:“foo”
}
setItem(“测试”,a);
它将存储[对象]
,而不是对象本身。对于数组,它将是逗号分隔的字符串
你必须使用JSON.stringify
和JSON.parse
以及正确的沟通。谢谢你!你为我节省了很多时间,让这项工作在很长一段时间内都在进行。谢谢你,老兄!你为我节省了很多时间,让这件事在很长一段时间内奏效。