本地存储自动完成/提前键入字段的数据
Storing data locally for an autocomplete/typeahead field
我正在构建一个带有自动完成/提前输入字段的web应用程序(在客户端的React中,由Rails服务器API支持)。我想在本地(客户端)存储此字段的数据,因为:
- 我希望用户输入时的响应是即时的。这一点很重要,因为它本质上是一个数据输入应用程序,这个过程会重复多次。这也意味着数据将被一次又一次地重复使用
- 数据是静态的,它不会改变(除了可能每1-2年出现一次新的数据集)
数据由大约2600个对象组成,每个对象都有一点点相关数据。目前生成的JSON数组的大小总计约为420KB。
我的问题是:在客户端以合理持久的方式存储这些数据的最佳策略是什么
-
它应该存在于自己的静态
js
文件中吗?该文件被分配给一个变量,并与页面一起加载,(希望)在随后的访问中缓存? -
它应该通过Ajax以JSON的形式发送(至少在最初是这样)吗?这会给我带来同样的缓存好处吗(除了更大的灵活性)?
-
本地存储怎么样?建议这样做吗?它在IE8中有效吗?如果是这样的话,我该如何利用它呢?如果必须的话,我能使它无效吗?
正如我所说,客户端是在React中构建的,但如果相关的话,我也会使用jQuery。
如有任何帮助或建议,不胜感激。
虽然我不喜欢在客户端存储大约2600个对象,但(我更喜欢通过ajax调用在服务器端过滤结果,而且你已经在运行rails了。如果处理得当,用户可以立即响应)。
- 因此,如果您真的希望客户端保存数据,请创建一个Store(如果您使用的是flux)或仅创建一个全局变量来保存常量。包括用于筛选/自动完成的常量
- 通过Ajax获取初始数据:如果您将响应缓存在索引端点的rails服务器上,您将获得更多的灵活性(添加/编辑数据等)。然而,问题是我们失去了带宽,因为组件每次渲染时都必须启动ajax。如果想将使用范围扩展到移动应用程序,这将成为一个更大的瓶颈
- 在这种情况下,通过本地存储执行此操作与全局变量具有相同的效果
有这么多选项,这就是为什么不同的用法也不同。
我的选择是使用js中的firstmeans静态变量。
CCD_ 2。我所做的有所不同,最初我们加载1000的数据,但后来的要求是从服务器获取每个字符类型的数据。
现在来谈谈你问题的表现要点。当您的数据是静态的时,您可以使用任何客户端存储,如js、localstorage或jstorage等。
1. In your data is not much so you can load the data via js. Just check first that how much time taken to load js via `firebug in firefox browser`.
2. Your second option is same impact, only differ is you have to code to get data on client side. Means overall you have to store in js variable as in first option.
3. Yes, local storage is work on IE8.
有关利弊,请查看链接。
https://softwareengineering.stackexchange.com/questions/138561/pros-cons-between-emphasizing-client-side-or-server-side-processing
http://voidcanvas.com/client-side-data-storage/
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- 单击鼠标,用MySQL数据填充html表单输入字段
- 生成动态表单输入字段,并在angularJS中以数组形式收集字段数据
- 向FullCalendar日添加更多字段/数据
- 如何从自定义模块获取Magento中的字段数据
- 从数据库创建可单击列表,并在网页元素中返回相关的数据库字段数据
- 如何在煎茶上循环存储和计数字段数据
- 将鼠标悬停在表行上时,如何显示包含该行字段数据的弹出窗口
- 如何在 dialog() 模式弹出窗口中的部分视图之间保留字段数据
- 我想在搜索完成后保留我的输入字段数据
- VueJS设置输入字段数据
- 如何将字段数据从一种格式更改为另一种格式
- 如何将字段数据与其他字段数据进行比较
- 使用ajax提交多个字段数据
- 在onbeforeunload中使用Ajax自动保存字段数据
- 高级自定义字段数据不显示在Wordpress的花式框
- 将输入字段数据保存在选择选项值中
- 在Android/iOS浏览器上提交隐藏字段数据不起作用
- 查找字段数据类型不是NaN的所有记录
- 如何在 Javascript 或 J-Query 中动态访问用户输入的输入字段数据