将数据附加到本地存储问题

Posted

技术标签:

【中文标题】将数据附加到本地存储问题【英文标题】:Appending data to localstorage issue 【发布时间】:2018-09-25 12:58:39 【问题描述】:

如果答案正确,我会在本地存储中设置一个字符串对象data.color。然后每次答案正确时,我都想在本地存储中记录并打印结果。

也许我的逻辑有问题,重新加载页面时文本没有正确附加,只有最后一个结果输出到 div。当答案正确时,我想将每个结果附加到本地存储中。

$('#butn').click(function(e) 
     $.ajax(
            type: "POST",
            url: "validation.php",
            dataType: "json",
            data: $("input").serialize(),
        ).done(function(data) 
         if (data.answer)  //if answer is correct
         localStorage.setItem("ColorStorage", data.color); //set in local storage the string object
          $("#result").append(localStorage.getItem("ColorStorage"));//print result to html
            
        );
        );
        if (localStorage.getItem("ColorStorage"))  /*if local storage is set..*/
    $("#result").append(localStorage.getItem("ColorStorage"));
    

html:

  <div id="result"></div>

【问题讨论】:

【参考方案1】:

在设置之前获取项目。

let answers = data.color + "," + localStorage.getItem("ColorStorage");
localStorage.setItem("ColorStorage", answers);

【讨论】:

在设置之前使用answers = answers === null ? 0 :answers ;之类的东西来防止null输出到本地存储的末尾

以上是关于将数据附加到本地存储问题的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 如何将本地存储的对象数组(文件管理器)转换为较新的对象? (带有附加属性)

Eclipse:通过本地属性将源/javadoc 附加到库

本地存储推送 XML 对象

使用本地存储中的数据创建提交表单

将数据保存到本地存储

h5的本地存储——sessionStorage,localStorage