आपके पास जो कुछ है उसके स्थान पर इस जेएस कोड को आजमाएं। मैंने देरी फ़ंक्शन जोड़ा ताकि उपयोगकर्ता अनुरोध भेजने से पहले टाइप करना बंद करने के बाद स्क्रिप्ट निर्दिष्ट समय तक प्रतीक्षा करे। यह सर्वर को बड़ी मात्रा में अनुरोध भेजे जाने से रोकता है।
<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>