【问题标题】:jQuery to store data for sessionsjQuery 为会话存储数据
【发布时间】:2011-02-14 21:45:36
【问题描述】:

我正在尝试使用 jQuery AJAX。我的要求是,我希望从数据集中的数据库中加载用户名,将其转换为 JSON 格式并将其存储在内存中或使用 jQuery 数据在用户浏览我的网站时使用,即会话。这样我可以使用自动完成或我自己的代码向用户显示数据。

谁能帮我设计这样的场景?

【问题讨论】:

  • 你如何与你的数据库交互?...什么语言?
  • 它是一个以c#为语言的Sql db
  • 如果您使用的是 C#,那么您可以只使用自动完成扩展程序。为什么要打败自己去做一些困难的事情? ~ 或者,你想让它在服务器或客户端上更快吗?要么问题措辞不当,要么你遗漏了一些东西。你能再澄清一下吗?
  • 你有没有成功解决过这个问题?您还需要这方面的帮助吗?

标签: jquery memory session caching store


【解决方案1】:

HTML 5 网络存储

超越 cookie、Google Gears 和专有解决方案

标准化,无需特殊插件。可通过 JavaScript/jQuery 编写脚本。尽管仅在最新的浏览器中受支持,但您可以使用 HTML 5 Web Storage,即 localStoragesessionStorage 属性,旨在在页面之间的网站上下文中保持客户端的状态要求。比饼干多得多。例如IE 8 DOM storage spec(10 MB 客户端存储)、Firefox DOM storage spec

【讨论】:

    【解决方案2】:

    还有YUI 2 Storage Utility,它根据浏览器支持的内容为您抽象存储(HTML 5、Google Gears、SWF):

    存储实用程序提供了一个 显着存储机制 大量的文本数据,客户端, 您的浏览器是否支持 提议的 HTML 5 存储 规范。

    【讨论】:

      【解决方案3】:

      JQuery 数据可能没有用,因为当您从一页转到下一页时,当页面刷新时您会丢失数据,但是您可以使用 COOKIES 执行此操作 - 有一个 jQuery cookies plugin 可以更轻松给你。

      【讨论】:

      • 如果列表很长,用户将每隔一段时间将该cookie发送到服务器。单身的。要求。这可能会导致服务器上的请求标头缓冲区地狱。不过,如果列表小于 8k,它应该可以工作。
      【解决方案4】:

      会话意味着服务器端。 jQuery 表示客户端。您无法在两者之间进行翻译。 Cookie 是您希望严格保持在客户端的最佳选择。

      【讨论】:

      • 通过会话意味着我可以将数据库中的数据存储在一些内存中,这些内存可以通过 jQuery 作为数据存储进行搜索。它可以是 jscript 数组甚至 jQuery.data() 之类的任何东西。只是我不希望每次都从 db 中获取我的数据。
      • 您可以避免使用 memcached 访问数据库或将 JSON 写入文件。
      • Cookies 是第二好的。 HTML 5 Web Storage:w3.org/TR/webstorage 比客户端的 cookie 更好,虽然没有得到广泛支持(即旧浏览器)
      • @jdk - 如果 HTML5 被广泛使用,我会说目标。 @Ted 如果您在客户端,您将无法参加会议。故事结局。您必须将其发送给客户。这意味着每页,其中包括同步两者的回发。此时,它既不是会话也不是 cookie,只是表单上的数据(表单是在浏览器窗格中存储数据的通用方法)。
      【解决方案5】:

      Google Gears 是我所知道的唯一解决方案,但它需要用户安装它并且只能在少数浏览器上运行。但是,您可以使用 $.getJSON 从您的服务器获取用户列表,JSON 编码和 gzip 压缩,当用户说...聚焦自动完成的搜索框,然后使用积极的客户端资源缓存来减少您的数据库上的点击次数。

      如果是一个很长的用户列表,您可能想考虑使用 memcached 来存储列表,或者可能将其写入文件并由前端服务器直接提供服务(即 Nginx、Lighttpd、 Apache:几乎可以避免运行数据库查询)

      【讨论】:

        【解决方案6】:

        我一直在使用 PersistJS 并取得了巨大成功,几乎完成了您所描述的事情。这是一个轻量级插件(

        • flash:Flash 8 持久存储。
        • gears:基于 Google Gears 的持久存储。
        • localstorage:HTML5 草稿存储。
        • whatwg_db:HTML5 草稿数据库存储。
        • globalstorage:HTML5 草稿存储(旧规范)。
        • 即:Internet Explorer 用户数据行为。
        • cookie:基于 Cookie 的持久存储。

        它会根据浏览器功能和安装的插件透明地选择最佳存储后端。它适用于:

        • globalStorage:Firefox 2.0+、Internet Explorer 8
        • localStorage:开发 WebKit
        • openDatabase:Safari 3.1+
        • 用户数据行为:Internet Explorer 5.5+

        ...如果其他持久性存储选项都不起作用,则可以选择回退到 cookie。 DOM 存储方法为您提供至少几兆字节的存储空间;如果您使用 cookie,您将被限制在大约 4kB。

        【讨论】:

          猜你喜欢
          • 2017-10-30
          • 1970-01-01
          • 2010-12-22
          • 2013-03-25
          • 1970-01-01
          • 1970-01-01
          • 2015-03-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多