Keeping an eye on the request
So far, it has been sufficient for us to make a call to an Ajax method and patiently await the response. At times, though, it is handy to know a bit more about the HTTP request as it progresses. If such a need arises, jQuery offers a suite of functions that can be used to register callbacks when various Ajax-related events occur.
The .ajaxStart()
and .ajaxStop()
methods are two examples of these observer functions. When an Ajax call begins with no other transfer in progress, the .ajaxStart()
callback is fired. Conversely, when the last active request ends, the callback attached with .ajaxStop()
will be executed. All of the observers are global, in that they are called when any Ajax communication occurs, regardless of what code initiates it. And all of them, can only be bound to $(document)
.
We can use these methods to provide some feedback to the user in the case of a slow network connection. The HTML for the page can have a suitable loading message appended:
...