我正在学习javascript,xml和html。对于家庭作业,我需要从XML文件的某些节点检索一些数据,连接数据,并将连接的字符串存储在localStorage中。我在localStorage中存储连接字符串时遇到问题。我认为问题在于这两行 -
var s_data = localStorage [学生];
$(“#clickme”)。text(“学生的名字:”+ s_data);
有人可以看看并给我一些如何解决它的提示吗?提前感谢您的帮助。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<title>HWK</title>
<meta charset="UTF-8">
</head>
<body>
<div id="clickme" onclick="startAjax()">Click me to see all the students' first names</div>
<script>
function startAjax(){
$("#clickme").text("Calling server");
$.ajax({url:"hwk.xml",
success:callbackFunction, error:errorFunction});
}
function callbackFunction(data,info)
{
var students = $(data).find("student first_name");
try {
if (students && students.length)
{
var s_data = localStorage[students];
$("#clickme").text("Students' first names: " + s_data);
}
}
catch (e) {
if (e != window["localStorage"])
alert("No local storage. Should use cookie instead.");
}
}
function errorFunction(data,info){
$("#clickme").text("error occurred:"+info);
}
</script>
</body>
</html>
答案 0 :(得分:4)
您可以使用setItem()将值设置为localStorage和getItem()来检索
例如:
localStorage.setItem('mykey', 'somevalue')
演示:Fiddle
答案 1 :(得分:1)
localStorage.setItem('your_data_key', 'your_data')
答案 2 :(得分:0)
您没有设置数据,而是获取不存在的数据
我相信你想要的是这个
(你必须给本地存储中的变量命名,我给它起学生的名字)
localStorage['students'] = students;
$("#clickme").text("Students' first names: " + students);
在此之后,如果您想要与之前的相似,那么您可以获得
var s_data = localStorage['students'];
答案 3 :(得分:0)
我无法在您的代码中看到您将某些内容存储到localStorage
的任何位置。你正在尝试检索localStorage[students]
,但那里什么都没有。
另请注意,您只能在localStorage
中存储字符串。您将jQuery结果一次性分配给students
。如果您尝试将其存储在localStorage
中,它将失败,因为它是一个jQuery对象数组。