【问题标题】:How can i get the HTML5 Local storage values in server side如何在服务器端获取 HTML5 本地存储值
【发布时间】:2011-12-29 09:39:27
【问题描述】:

我是一名 .Net 开发人员,我知道 HTM5 本地存储是客户端存储技术。我想在服务器端获取本地存储数据。

为了从服务器端获取 cookie 值,我们在 ASP.NET 中有 Request.Cookie。有没有这样的解决方案可以直接在服务器端获取本地存储值?请指导我。我正在使用 .net 4.0 框架

谢谢, 吉布

【问题讨论】:

    标签: javascript html c#-4.0 local-storage


    【解决方案1】:

    您需要使用标准 HTTP 技术将此信息从客户端传递到服务器。使用 javascript 你可以填写:

    • 隐藏字段
    • 查询字符串参数
    • 发布
    • 对服务器的 Ajax 调用
    • ...

    这一切都取决于您的应用程序的组织方式、存储的信息类型、它的数量、是否要重定向......但在所有情况下都应该使用 javascript 来完成,因为这是唯一的访问存储在 localStorage 中的数据的方法。

    【讨论】:

      【解决方案2】:

      没有。本地存储的全部意义在于它是本地的。它相对于 cookie 的优势之一是您可以在其中存储大量数据。 cookie 的优点之一是它们很小,因此将它们包含在对给定主机的每个 HTTP 请求中的开销很小。有两个优点是不兼容的,所以你不会希望它们在一个单一的技术中。

      如果您想在服务器上获取数据,那么您需要让客户端显式发送(例如通过 Ajax)。

      【讨论】:

        【解决方案3】:

        这是一个范围广泛的问题。 (就像一段字符串的长度),但我会尽力帮助:

        • 如果您在网络服务器的本地存储中有值,我假设您的网络服务器是 JSON?还是您使用了 sql 本地存储选项?
        1. 无论存储类型如何,您都需要构建一个可以同时处理的接口:

        a) 从本地数据库中读取数据 -> 如果您的目标是同步数据库,请务必在此处包含某种日期或索引值...这是为了确保您按顺序发送所有事务/更新在您的数据库中。为此,您不仅必须将数据存储为带有信息的表,而且还必须将数据存储为包含更新发生时间和更新内容的事件的表。 (更改表)。这将有助于在服务器端检查所有内容是否同步,也意味着您不会将不需要的数据发送到服务器,并且可以保存在本地。 ((否则,如果您无法通过仅同步 waht 来节省自己的服务器数据库空间,那么本地存储的意义何在?)

        b) 一个 HTTP 本地服务器,用于将数据发送到您的目标客户端服务器或数据库服务器等(但是您已经设置了您的基础架构)——我建议您使用 Ajax 和 JQuery 的语言和服务器的行业标准。如果您进行大量数据流传输,那么我建议您使用 Ajax 研究 RXjs 以构建一个 http 接口(从这个意义上讲,接口只是一种像 API 一样公开您的客户端并发布 http 调用的方法)

        c) 一个事件循环来处理触发同步的频率和内容,这样您就不会过度破坏您的用户机器(您不想经常这样做,但也希望它有意义而不是“每个晚上”,每当您检测到触发 wifi 再次可用的事件时,用户可能会启用。) - 我建议使用 Apache Cordova 内置的本机 wifi 读取功能以及服务器设置的行业标准(例如用于 Node.JS 的 Express.js)。

        1. 显然后端服务器需要设置其 API 和身份验证/授权等。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-07
          • 2021-01-04
          • 2012-01-15
          • 1970-01-01
          • 1970-01-01
          • 2017-02-19
          • 1970-01-01
          • 2013-03-12
          相关资源
          最近更新 更多