我们如何在localStorage中存储字符串?

时间:2013-07-16 03:35:13

标签: javascript html xml

我正在学习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 个答案:

答案 0 :(得分:4)

您可以使用setItem()将值设置为localStoragegetItem()来检索

例如:

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对象数组。