5

我正在学习 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>
4

4 回答 4

6

您可以使用setItem()localStorage设置一个值并使用getItem()来检索它

前任:

localStorage.setItem('mykey', 'somevalue')

演示:小提琴

于 2013-07-16T03:45:39.343 回答
2

localStorage.setItem('your_data_key', 'your_data')

于 2013-07-31T07:05:32.193 回答
1

您不是在设置数据,而是在获取不存在的数据

我相信你想要的是这个

(你必须给本地存储中的变量一个名字,我给它学生的名字)

localStorage['students'] = students;
$("#clickme").text("Students' first names: " + students);

在此之后,如果您想要与以前类似的东西,您可以得到

var s_data = localStorage['students'];
于 2013-07-16T03:42:09.833 回答
0

我在您的代码中看不到您将某些内容存储到localStorage. 您正在尝试检索localStorage[students],但那里什么都没有。

另请注意,您只能将字符串存储在localStorage. 您students在某一时刻分配了一个 jQuery 结果。如果您尝试将其存储在localStorage其中会失败,因为它是一组 jQuery 对象。

于 2013-07-16T03:42:37.297 回答