wp_send_json_success( mixed $data = null, int $status_code = null, int $options )

Sends a JSON response back to an Ajax request, indicating success.


Parameters

$data mixed Optional
Data to encode as JSON, then print and die.

Default: null

$status_code int Optional
The HTTP status code to output.

Default: null

$options int Optional
Options to be passed to json_encode(). Default 0.

Top ↑

More Information

The response object will always have a success key with the value true. If anything is passed to the function it will be encoded as the value for a data key.

Example arrays such as the following are converted to JSON:

$response = array( 'success' => true );                   //if $data is empty
$response = array( 'success' => true, 'data' => $data );  //if $data is set

Top ↑

Source

File: wp-includes/functions.php. View all references

function wp_send_json_success( $data = null, $status_code = null, $options = 0 ) {
	$response = array( 'success' => true );

	if ( isset( $data ) ) {
		$response['data'] = $data;
	}

	wp_send_json( $response, $status_code, $options );
}


Top ↑

Changelog

Changelog
Version Description
5.6.0 The $options parameter was added.
4.7.0 The $status_code parameter was added.
3.5.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by Andrew Lima

    Busy working on sending JSON requests back to Zapier, here’s an example to help people get started. You can send an associative array of any data you need to get returned/shown.

    wp_send_json_success( array( 
        'name' => 'Andrew', 
        'call' => 'From some API/trigger', 
        'variable' => $var,
    ), 200 );
  2. Skip to note 2 content
    Contributed by Codex

    Basic Example

    jQuery( document ).ready( function() {
    
    	jQuery( '#btn_save' ).click( function( e ) {
    		e.preventDefault();
    		jQuery.post( pluginUrl+ 'ajax/save_field.php', 
    			jQuery( '#my-form' ).serialize(), function( data ) {                        
    				alert( data.message ); 
    			}
    		);
    	} );
    } );

    save_field.php:

    // Bootstrap WP
    
    $return = array(
    	'message' => __( 'Saved', 'textdomain' ),
    	'ID'      => 1
    );
    wp_send_json_success( $return );

You must log in before being able to contribute a note or feedback.