Zkuste tento js kód místo toho, co máte. Přidal jsem funkci zpoždění, takže skript čeká určitou dobu poté, co uživatel přestane psát, než odešle požadavek. Tím se zabrání odesílání velkého množství požadavků na server.
<script type="text/javascript">
var delay = (function() {
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$("#search-box").keyup(
function () {
delay(function () {
var keyword = $("#search-box").val();
var URL = encodeURI("search.php?q=" + keyword);
$.ajax({
url: URL,
cache: false,
type: "GET",
success: function(response) {
$("#results").html(response);
}
});
}, 500);
}
);
</script>