我构建一个应用程序来使用ajax获取记录数据库。我使用keyup函数来捕获我查询/写入的内容。但有时我写的东西就像" si"并且数据库中有很多记录,查询花费的时间比我写下这个bug发生的下一个字母要多。 (查询' sitre'但PHP只捕获' si'):
我的问题是,有没有办法解决这个问题? 我的JS代码:
<script>
$(document).ready(function(){
load_data();
function load_data(query) {
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != '') {
load_data(search);
} else {
load_data();
}
});
});
</script>
谢谢。
由于 Taron Saribekyan
而延迟修复<script>
var timeout = null;
$(document).ready(function(){
load_data();
function load_data(query) {
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
clearTimeout(timeout);
if(search != '') {
timeout = setTimeout(function () {
load_data(search);}
, 500);
} else {
load_data();
}
});
});
</script>