## .ajaxSuccess( handler )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 )

  - handler
    Type: Function( Event event, jqXHR jqXHR, PlainObject ajaxOptions, PlainObject data )
    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, set up a basic Ajax load request:

1 2 3 |
    <div class="trigger">Trigger</div><div class="result"></div><div class="log"></div>

Attach the event handler to any element:

1 2 3 |
    $(document).ajaxSuccess(function() {  $( ".log" ).text( "Triggered ajaxSuccess handler." );});

Now, make an Ajax request using any jQuery method:

1 2 3 |
    $( ".trigger" ).on( "click", function() {  $( ".result" ).load( "ajax/test.html" );});

When the user clicks the element with class `trigger` and the Ajax request completes successfully, the log message is displayed.

All `ajaxSuccess` handlers are invoked, regardless of what Ajax request was completed. If you must differentiate between the requests, you 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, you can restrict the callback to only handling events dealing with a particular URL:

1 2 3 4 5 6 |
    $( document ).ajaxSuccess(function( event, xhr, settings ) {  if ( settings.url == "ajax/test.html" ) {    $( ".log" ).text( "Triggered ajaxSuccess handler. The Ajax response was: " +      xhr.responseText );  }});

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

### Additional Notes:

- As of jQuery 1.9, all the handlers for the jQuery global Ajax events, including those added with the `.ajaxSuccess()` method, must be attached to `document`.
- If `$.ajax()` or `$.ajaxSetup()` is called with the `global` option set to `false`, the `.ajaxSuccess()` method will not fire.

## Example:

Show a message when an Ajax request completes successfully.

1 2 3 |
    $( document ).ajaxSuccess(function( event, request, settings ) {  $( "#msg" ).append( "<li>Successful Request!</li>" );});