Throttling Ajax requests
An increasingly common feature of searches is to display a dynamic list of results as the user is typing. We can emulate this live search feature for our jQuery API search by binding a handler to the keyup
event
, as follows:
$('#title').bind('keyup', function(event) { $ajaxForm.triggerHandler('submit'); });
Listing 13.10
Here we simply trigger the form's submit
handler whenever the user types something in the Search field. This could have the effect of sending many requests across the network in rapid succession, depending on the speed at which the user types. This behavior could bog down JavaScript's performance, it could clog the network connection, and the server might not be able to handle that kind of demand. We're already limiting the number of requests with the request caching that we've just put in place. We can further ease the burden on the server, however, by throttling the requests. In Chapter 10 we introduced the concept of throttling when we created...