我正在尝试使用jQuery AJAX。我的要求是,我希望从数据集中的DB加载用户名,将其转换为JSON格式并将其存储在内存中或使用jQuery数据供用户浏览我的网站时使用,即会话。这样我就可以使用自动完成或我自己的代码向用户显示数据。
有人可以帮我设计这样的场景吗?
答案 0 :(得分:4)
超越Cookie,Google Gears和专有解决方案
标准化,无需特殊插件。可通过JavaScript / jQuery编写脚本。虽然仅在最新的浏览器中受支持,但您可以使用HTML 5 Web Storage,即 localStorage 和 sessionStorage 属性,旨在在网站的上下文中保持客户端的状态页面请求之间。比饼干还要多得多。例如IE 8 DOM storage spec(10 MB客户端存储),Firefox DOM storage spec。
答案 1 :(得分:1)
还有YUI 2 Storage Utility根据浏览器支持的内容抽取存储空间(HTML 5,Google Gears,SWF):
Storage Utility提供了一个 存储重要的机制 大量文本数据,客户端, 您的浏览器是否支持 建议的HTML 5存储 说明书
答案 2 :(得分:0)
JQuery数据可能没用,因为当你刷新页面时,当你从一个页面转到另一个页面时会丢失数据,但是你可以使用COOKIES执行此操作 - 有一个jQuery cookies plugin将会生成对你来说更容易。
答案 3 :(得分:0)
会话意味着服务器端。 jQuery意味着客户端。你不能在两者之间进行翻译。 Cookies是您希望保持严格客户的最佳选择。
答案 4 :(得分:0)
Google Gears是我所知道的唯一解决方案,但它要求用户安装它并且只能在少数浏览器上运行。但是,当用户说...聚焦自动完成的搜索框,然后使用积极的客户端资源缓存时,您可以使用$.getJSON
从服务器获取用户列表(JSON编码和gzip)减少数据库的点击次数。
如果这是一个很长的用户列表,您可能需要考虑使用memcached来存储列表,或者将其写入文件并让它由您的前端服务器直接提供(即Nginx,Lighttpd, Apache:几乎可以避免运行数据库查询的任何事情)
答案 5 :(得分:0)
我一直在使用PersistJS取得巨大成功来完成您所描述的内容。它是一个轻量级插件(< 10k),它使用任何这些可用的后端来抽象客户端存储:
它根据浏览器功能和已安装的插件透明地选择最佳存储后端。它适用于:
...如果其他任何持久存储选项都不起作用,则可选择回退到cookie。 DOM存储方法为您提供至少几兆字节的存储空间;如果你回到cookie,你将被限制在大约4kB。