# .ajaxSuccess()

Categories: Ajax > Global Ajax Event Handlers

## .ajaxSuccess( handler(event, XMLHttpRequest, ajaxOptions) ) Returns: jQuery

Description: Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event.

- #### version added: 1.0.ajaxSuccess( handler(event, XMLHttpRequest, ajaxOptions) )

  handler(event, XMLHttpRequest, ajaxOptions)The function to be invoked.

Whenever an Ajax request completes successfully, jQuery triggers the `ajaxSuccess` event. Any and all handlers that have been registered with the `.ajaxSuccess()` method are executed at this time.

To observe this method in action, we can set up a basic Ajax load request:

    <div class="trigger">Trigger</div>
    <div class="result"></div>
    <div class="log"></div>

We can attach our event handler to any element:

    $('.log').ajaxSuccess(function() {
      $(this).text('Triggered ajaxSuccess handler.');
    });

Now, we can make an Ajax request using any jQuery method:

    $('.trigger').click(function() {
      $('.result').load('ajax/test.html');
    });

When the user clicks the button and the Ajax request completes successfully, the log message is displayed.

Note: Because `.ajaxSuccess()` is implemented as a method of jQuery object instances, we can use the `this` keyword as we do here to refer to the selected elements within the callback function.

All `ajaxSuccess` handlers are invoked, regardless of what Ajax request was completed. If we must differentiate between the requests, we can use the parameters passed to the handler. Each time an `ajaxSuccess` handler is executed, it is passed the event object, the `XMLHttpRequest` object, and the settings object that was used in the creation of the request. For example, we can restrict our callback to only handling events dealing with a particular URL:

Note: You can get the returned ajax contents by looking at `xhr.responseXML` or `xhr.responseHTML` for xml and html respectively.

    $('.log').ajaxSuccess(function(e, xhr, settings) {
      if (settings.url == 'ajax/test.html') {
        $(this).text('Triggered ajaxSuccess handler. The ajax response was:'
                         + xhr.responseHTML );
      }
    });

### Example:

#### Show a message when an Ajax request completes successfully.

    $("#msg").ajaxSuccess(function(evt, request, settings){
          $(this).append("<li>Successful Request!</li>");
          });