Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在localStorage中存储字符串?_Javascript_Html_Xml - Fatal编程技术网

Javascript 如何在localStorage中存储字符串?

Javascript 如何在localStorage中存储字符串?,javascript,html,xml,Javascript,Html,Xml,我正在学习javascript、xml和html。对于家庭作业作业,我需要从XML文件的某些节点检索一些数据,连接数据,并将连接的字符串存储在localStorage中。我在本地存储中存储连接的字符串时遇到问题。我认为问题在于这两方面- var s_data=localStorage[students] $(“#点击我”).text(“学生的名字:+s#U数据) 有人能看一下并给我一些关于如何修复它的提示吗?提前感谢您的帮助 <!DOCTYPE html> <html&

我正在学习javascript、xml和html。对于家庭作业作业,我需要从XML文件的某些节点检索一些数据,连接数据,并将连接的字符串存储在localStorage中。我在本地存储中存储连接的字符串时遇到问题。我认为问题在于这两方面-

var s_data=localStorage[students]
$(“#点击我”).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')