Users navigating a web site inevitably make mistakes. What happens if an error happens, or the data cannot be found? You need a hook on your Ajax to create a function to alert that an error happened. Likewise, the success function delivers a message that they completed the procedure successfully. For example, let’s say you have a simple data entry screen, and the user makes an input error. A window pops us that says, “An error occurred.” At the same time, with an accurate entry, you can have a message that says “Complete” or “Success.”
The callback will happen after the Ajax is complete. ‘Complete’ means it has run but could have an error. ‘Success’ means the Ajax was successful. You can ‘stack’ them to handle either situation. ‘Error’ is useful so they know an error took place. These are all event handlers, or event callbacks, that take place after an Ajax request.
Three Different Arguments
The success callback function is called if a request succeeds. Three different arguments are passed to the function:
- Data that comes back from the server.
- A string that describes the status.
- The jqHXR object.
Beginning with jQuery 1.5, it can accept a complete array of functions. The functions are called one by one in turn. This is an Ajax Event. There are two types of Ajax Events:
- Local – callbacks that can be subscribed to inside the actual Ajax request object.
- Global – these take place on the ‘document,’ calling out for any listening handlers.
‘Success’ is a Local Event. It only gets called if the request is met with success. In other words, there are not any server or data errors. Here is a closer look at all the Ajax events. The ajaxStart and ajaxStop entries relate to the whole of Ajax requests in their totality. Events are triggered in this order:
- beforeSend (Local) – fires before the Ajax request begins. It lets you change the XMLHttpRequest object if needed.
- ajaxSend (Global) this event is fired before the request runs, similar to beforeSend.
- success (Local) – fires if the request meets with success, meaning no data or server errors.
- ajaxSuccess (Global) – gets called in the case of a successful request.
- error (Local) – only fires if an error takes place in the request. There is never an occasion where both success and error callbacks happen in the request.
- ajaxError (Global) – acts the same as its Local counterpart.
- complete (Local) – no matter if the request met with success or not, this event is called.
- ajaxComplete (Global) – similar to ‘complete.’ Gets fired each time the Ajax request ends.
This triggers when there are not any more Ajax requests. The ajaxSuccess() function consists of a handler with three arguments:
- The event
- The XMLHttpRequest
Every Handler Is Triggered
Every ajaxSuccess handler is fired, no matter if the actual request was finished. To make the differences between requests more clear, you can call on the parameters sent to the handler. Every time an ajaxSuccess key handler is fired, it is handed the event object. In addition, it is given the XMLHttpRequest object as well as the settings object utilized when the request was made. As an example, you can limit the callback to the parameter of only handling events related to a specific URL.
The Ajax jQuery success callback function is vital to smooth interaction with end users. Along with the other jQuery Ajax functions, you can keep users happy as they successfully navigate and enjoy your website.