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

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


Parameters Parameters

$data

(mixed) (Optional) Data to encode as JSON, then print and die.

Default value: null

$status_code

(int) (Optional) The HTTP status code to output.

Default value: null

$options

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


Top ↑

More Information 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 Source

File: wp-includes/functions.php

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

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 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.