在 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/