使用JavaScript和JQuery数据表缓冲/延迟ajax请求/击键
Buffered/delayed ajax requests/keystrokes using JavaScript and JQuery Datatables
我目前正在制作一个企业web应用程序的原型,其中将包括一个快速搜索屏幕。这个屏幕使用JQuery和datatable提供搜索结果的表格视图。搜索基于与文本字段中输入的字符串的匹配来执行。每次按下一个键,就会向servlet发送一个新的AJAX请求,执行搜索(跨大型数据库),并通过JSON返回结果,以便在表中更新。
在数据库上搜索是一个代价很高的操作。很多时候,当用户输入一个名字时,他们会快速连续地输入一些字母。这将导致在后端触发多个搜索,有时是不必要的。
我想知道是否有一种方法可以巧妙地缓冲这些请求。例如,如果用户正在输入"Jonathan",不要发送J, Jo, Jona, Jonath,…如果它们都是在相互限定的时间内输入的,并且只有在输入有足够的间隔时才发送请求,即当末尾的字母n被输入时。
我知道这样做会有一点延迟,但这可能是一个值得的妥协。
你认为这有意义吗?是否存在用于此类操作的现有模式/库?它是否会导致我没有想到的可用性问题?
非常感谢您的意见!
以防有人看到类似的问题:在Spike的评论之后,我检查了数据表插件,上面有我想要的东西:见fnSetFilteringDelay
您可以使用jquery-ui框架的自动完成函数,该函数有一个延迟选项,可以完成您正在寻找的功能。
http://jqueryui.com/demos/autocomplete/option-delay
相关文章:
- jQuery延迟了ajax调用的循环
- 使用jquery延迟对象链接多个ajax调用
- jQuery通过嵌套的ajax调用延迟对象
- 延迟单击事件,直到AJAX完成
- $.ajax延迟对象
- jQuery 延迟的 AJAX 调用返回值
- 将单击事件附加到按钮或链接上的类,该按钮或链接会触发 AJAX 帖子,然后延迟并继续原始操作
- AJAX 调用和表单提交之间的延迟
- 延迟的jquery ajax请求的顺序
- PHP延迟ajax响应的执行
- 正确引用延迟 AJAX 调用中的变量
- 如何延迟 AJAX 响应秒数
- jQuery中具有延迟/ajax的变量作用域
- AJAX -- 多个并发请求:延迟 AJAX 执行,直到某些调用完成
- 使用JavaScript和JQuery数据表缓冲/延迟ajax请求/击键
- 从延迟ajax调用返回数据
- 了解jQuery.在jquery上下文中延迟.AJAX(再一次)
- 我应该如何延迟ajax请求
- 如何在 jQuery 中延迟 ajax 调用
- 使用相同的数据延迟Ajax调用相同的URL