【问题标题】:Java Script get data from server (asp.net) and save it in local storage (client side)Java Script 从服务器(asp.net)获取数据并将其保存在本地存储(客户端)
【发布时间】:2013-08-03 05:19:14
【问题描述】:

我正在从服务器端获取一个 json 对象。但我无法将其保存在 LocalStorage 中! 这是它在 FireBug 中的外观:如果您看不清图片,请尝试在单独的页面中打开它们(右键单击并单击在新选项卡上打开)

提前致谢!

这就是我使用 Ajax 获取数据的方式,但它没有在本地存储中写入任何内容

$.ajax(
       {
           type: "POST",
           url: "Default.aspx/loadGantt",
           contentType: "application/json; charset=utf-8",
           //data: "{taskId:" +taskId+ "}",
           data: "{}",
           dataType: "json",
           contentType: "application/json; charset=utf-8",

           success: function (response) {
               //console.debug(response);
                   var prj = response.d;
                   validatResult(prj)
                   if (localStorage) {
                       localStorage.setObject("teamworkGantDemo", prj);
                   } else {
                       $("#ta").val(JSON.stringify(prj));
                   }
                   //prj = response;
                   //validateResult(prj);

                   if (typeof (callback) == "function") {
                       callback(response);
                   }
                else {
                   jsonErrorHandling(response);
               }
           }
       });

</script>

当我将数据保存在本地存储 (HTML5) 中时,结果假设看起来像这样,但它没有发生:

【问题讨论】:

    标签: javascript jquery html ajax


    【解决方案1】:

    你正试图将一个对象放入localStorage更改

     localStorage.setObject("teamworkGantDemo", prj);
    

    到

     localStorage.setItem("teamworkGantDemo", JSON.stringify(prj));
    

    或者干脆

    localStorage["teamworkGantDemo"] =  JSON.stringify(prj)
    

    但如果你坚持使用包装器,你可以这样做:

    Storage.prototype.setObject = function(key, value) {
        this.setItem(key, JSON.stringify(value));
    }
    
    Storage.prototype.getObject = function(key) {
       return JSON.parse(this.getItem(key));
    }
    

    那就这样用吧:

     localStorage.setObject("teamworkGantDemo", prj);
    

    【讨论】:

    • 谢谢!它运行良好,但我也需要删除 validatResult(prj)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 2021-02-03
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 2018-04-02
    相关资源
    最近更新 更多