javascript - jQuery 自动完成太多数据库请求

标签 javascript jquery ajax database autocomplete

在 jQuery ajax 自动完成小部件中使用数据库数据时,如何解决对数据库的过多请求问题?基本上每次用户插入一封信时,脚本都会向数据库发出 ajax 请求,将数据库请求保持在最低限度的最佳做法是什么?

我从第三方应用程序获取数据,因此我必须考虑它可能会在我的应用程序中发生变化。

最佳答案

几个月前我遇到了同样的问题。
我找到了两个解决方案:

解决方案 1:
不要从键入的第一个字母开始查询。使用“minLength”自动完成属性。 minLength documentation here .添加该属性后,第一个查询将从 n 开始,其中 n 是先前键入的字母的编号(整数)。
示例:

$( ".selector" ).autocomplete({
    minLength: 3
});

解决方案 2:
在多次发送之间添加一个(非常短但对数据库很好)延迟。像 250/300/500 毫秒这样的短时间(取决于您与数据库之间的 ping 或用户带宽)是非常可观的。 Delay documentation link here .值以毫秒为单位(整数)。
示例:

$( ".selector" ).autocomplete({
    delay: 500
});

希望它能满足您的需求。
不要犹豫,同时使用两者。

关于javascript - jQuery 自动完成太多数据库请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41347261/

相关文章:

javascript - 为什么 jquery 脚本不起作用?

javascript - ajax 加载成功响应并加载旋转

javascript - 如何从外部服务器加载特定数据?

javascript - 在我的案例中,如何访问从 AJAX 回调函数外部的 ajax 调用返回的数据?

javascript - 如何在 Internet Explorer 中播放作品音频

javascript - 使用 JS 解析 HTML 文本 - 额外节点?

javascript - 使用复选框隐藏多个表单字段

javascript - 从 JSON 中提取 HTML 标签之间的值

javascript - SO是如何动态获取它的Tag的呢?

javascript - Google Drive & vuejs3 - 将文件上传到特定文件夹