javascript - ajax实时搜索最后一个字符

标签 javascript ajax search live

我正在尝试使用位于以下位置的 AJAX Live Search: http://www.w3schools.com/php/php_ajax_livesearch.asp

它通过 AJAX 传输输入的值以在 php 文件中进行比较。

这确实有效,但有一件事困扰着我:

当输入某些字符并删除所有输入内容时(相当快),有时会仍然显示结果,属于我删除的最后一个字符的结果 .

因此输入 asdfgh 会导致无建议。 但是删除所有字符仍然有a显示的结果,即:

HTML a tag
HTML br tag
CSS background Property
JavaScript Date Object
JavaScript Array Object

我尝试通过更改代码的 onkeyup 部分、将其插入 JavaScript 本身、尝试不同类型的事件来解决此问题,但似乎没有任何方法可以修复此行为。

在我的手机和另一台电脑上也测试过,都是一样的。

关于如何改变以消除这种行为的任何建议?

最佳答案

您可能希望在 showResult 函数中设置时间延迟。

设置一个超时,例如 50 毫秒,每次调用 showResult 函数时,都会重置它。

超时将执行 AJAX 调用(showResult 应该执行的操作)。

关于javascript - ajax实时搜索最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33127251/

相关文章:

javascript - 在 Javascript 中读取 Firebase 数据库时获取空快照?

asp.net - 选择 Accordion 选项卡时切换子元素的类

javascript - 带有背景视频的刷新页面

jquery - 在 Node.js 中使用 ajax post 后,HTML 页面未呈现

php - 从多行中选择

javascript - KendoUI ComboBox 根据数据源选择选项

javascript - 随机空位?

android - 在 webview 中使用 ShowfindDialog 搜索不突出显示

javascript - 你如何在javascript中获取变量名的字符串?

search - Google Search Appliance (GSA) 的替代软件