What are jQuery AJAX Events?
Ajax requests produce a number of different events that you can subscribe to. Let’s check the two types of events.
There are two types of events:
Local Events
These are callbacks that you can subscribe to within the Ajax request object.
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});
Global Events
These events are broadcast to all elements in the DOM, triggering any handlers which may be listening. You can listen for these events like so −
$("#loading").bind("ajaxSend", function(){
$(this).show();
}).bind("ajaxComplete", function(){
$(this).hide();
});
Global events can be disabled, for a particular Ajax request, by passing in the global option, like so −
$.ajax({
url: "test.html",
global: false,
// ...
});
Here’s the full list of Ajax events. The ajaxStart and ajaxStop events are events that relate to all Ajax requests together.
- ajaxStart (Global Event)- This event is broadcast if an Ajax request is started and no other Ajax requests are currently running.
- beforeSend (Local Event)- This event, which is triggered before an Ajax request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if need be.)
- ajaxSend (Global Event)- This global event is also triggered before the request is run.
- success (Local Event)- This event is only called if the request was successful (no errors from the server, no errors with the data).
- ajaxSuccess (Global Event)- This event is also only called if the request was successful.
- error (Local Event)- This event is only called if an error occurred with the request (you can never have both an error and a success callback with a request).
- ajaxError (Global Event)- This global event behaves the same as the local error event.
- complete (Local Event)- This event is called regardless of if the request was successful, or not. You will always receive a complete callback, even for synchronous requests.
- ajaxComplete (Global Event)- This event behaves the same as the complete event and will be triggered every time an Ajax request finishes.
- ajaxStop (Global Event-) This global event is triggered if there are no more Ajax requests being processed.
Published on 21-Dec-2017 12:31:06