我目前正在为一个企业网络应用程序进行原型设计,其中包括一个快速搜索屏幕.
此屏幕使用JQuery和Datatables提供搜索结果的表格视图.基于与在文本字段中输入的字符串的匹配来执行搜索.每次按下一个键时,都会将一个新的AJAX请求发送回servlet,执行搜索(跨大型数据库),并通过JSON返回结果以在表上更新.
对数据库的搜索是一项代价高昂的操作.很多时候,当用户输入一个名字时,他们会快速连续输入一些字母.这将导致在后端触发多次搜索,有时不必要.
我想知道是否有一种巧妙缓冲这些请求的方法.例如,如果用户正在键入“Jonathan”,请不要发送对J,Jo,Jona,Jonath等的请求,如果它们都是在彼此的时间限制内输入,并且仅在有时请发送请求打字时有足够的空隙,即输入结尾处的字母n时.
我知道这会花费一点点延迟,但这可能是值得妥协的.
你认为这有道理吗?是否存在此类操作的现有模式/库?它是否会导致我没有想到的可用性问题?
非常感谢您的意见!
解决方法:
为了防止有人看到类似的问题:在Spike的评论之后我检查了数据表插件,并且有一些东西完全符合我的要求:见fnSetFilteringDelay
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。