Javascript 如何在localStorage中存储字符串?
我正在学习javascript、xml和html。对于家庭作业作业,我需要从XML文件的某些节点检索一些数据,连接数据,并将连接的字符串存储在localStorage中。我在本地存储中存储连接的字符串时遇到问题。我认为问题在于这两方面- var s_data=localStorage[students]Javascript 如何在localStorage中存储字符串?,javascript,html,xml,Javascript,Html,Xml,我正在学习javascript、xml和html。对于家庭作业作业,我需要从XML文件的某些节点检索一些数据,连接数据,并将连接的字符串存储在localStorage中。我在本地存储中存储连接的字符串时遇到问题。我认为问题在于这两方面- var s_data=localStorage[students] $(“#点击我”).text(“学生的名字:+s#U数据) 有人能看一下并给我一些关于如何修复它的提示吗?提前感谢您的帮助 <!DOCTYPE html> <html&
$(“#点击我”).text(“学生的名字:+s#U数据) 有人能看一下并给我一些关于如何修复它的提示吗?提前感谢您的帮助
<!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>
HWK
单击我查看所有学生的名字
函数startAjax(){
$(“#单击我”).text(“呼叫服务器”);
$.ajax({url:hwk.xml“,
成功:callbackFunction,错误:errorFunction});
}
函数调用函数(数据、信息)
{
var students=$(数据).find(“学生名”);
试一试{
if(student和student.length)
{
var s_data=localStorage[students];
$(“#点击我”).text(“学生的名字:+s#U数据);
}
}
捕获(e){
如果(e!=窗口[“本地存储”])
警报(“无本地存储。应改用cookie。”);
}
}
函数错误函数(数据、信息){
$(“#单击我”).text(“发生错误:+info”);
}
您不是在设置数据,而是在获取不存在的数据
我相信你想要的是这个
(您必须给本地存储中的变量命名,我给它命名为students)
在这之后,如果你想要和以前一样的东西,你就可以得到你想要的
var s_data = localStorage['students'];
我看不到您的代码中有任何地方将某些内容存储到
localStorage
。您正在尝试检索localStorage[students]
,但那里什么都没有
还要注意,您只能在localStorage
中存储字符串。您正在将jQuery结果分配给学生
。如果您尝试将其存储在localStorage
中,它将失败,因为它是一个jQuery对象数组。您可以使用设置值并检索它
例:
演示:
localStorage.setItem('your\u data\u key','your\u data')
Hi。我使用了您推荐的两行代码,得到了以下内容:学生的名字:[object]。这是因为学生是一个jQuery集合,没有字符串表示,因为其中可以有多个元素。例如,尝试学生[0],这将为您提供第一个元素。我尝试了学生[0],它为我提供了:学生的名字:[对象元素]。既然students是一个jQuery集合,有没有办法将其作为字符串存储在localStorage中?(对于我的垃圾问题,我很抱歉。)在Google中搜索jQuery集合字符串,你可能会找到另一个带有答案的stackoverflow页面,我会给你,但我不记得:)嗨。我想这一行会给我一个字符串--“var students=$(data).find(“student first_name”);”它给我一个字符串中连接的数据。你能告诉我我错过了什么吗。我很困惑,我想您会发现它提供了一个XML节点数组。您需要使用.text()
提取文本。我没有看到你的数据,所以我有点盲目。然而,问题是关于在localStorage
中存储数据,我认为Arun已经充分回答了这个问题。如果您想知道如何使用jQuery解析XML,请问另一个问题。我在Fiddle中尝试了这些方法,但没有成功。除了“调用服务器”消息之外,我什么也没有得到。@user2203774,它是所使用的浏览器
var s_data = localStorage['students'];
localStorage.setItem('mykey', 'somevalue')