1

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

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

4

6 回答 6

4

HTML 5 网络存储

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

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

于 2010-05-03T04:17:08.217 回答
1

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

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

于 2010-05-03T04:31:56.747 回答
0

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

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

于 2010-05-03T04:09:05.647 回答
0

JQuery 数据可能没有用,因为当您从一个页面切换到下一个页面时,您会丢失数据,但是您可以使用 COOKIES 执行此操作——有一个jQuery cookies 插件可以让您更轻松。

于 2010-05-03T03:51:21.817 回答
0

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

于 2010-05-03T03:54:19.253 回答
0

我一直在使用PersistJS并取得了巨大的成功,几乎可以完成您所描述的事情。这是一个轻量级插件(< 10k),它使用以下任何可用后端抽象出客户端存储:

  • 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
  • 开放数据库:Safari 3.1+
  • 用户数据行为:Internet Explorer 5.5+

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

于 2010-05-03T04:47:25.820 回答