wp_send_json( mixed $response, int $status_code = null, int $flags )

Sends a JSON response back to an Ajax request.

Parameters

$responsemixedrequired
Variable (usually an array or object) to encode as JSON, then print and die.
$status_codeintoptional
The HTTP status code to output.

Default:null

$flagsintoptional
Options to be passed to json_encode(). Default 0.

Source

function wp_send_json( $response, $status_code = null, $flags = 0 ) {	if ( wp_is_serving_rest_request() ) {	_doing_it_wrong(	__FUNCTION__,	sprintf(	/* translators: 1: WP_REST_Response, 2: WP_Error */	__( 'Return a %1$s or %2$s object from your callback when using the REST API.' ),	'WP_REST_Response',	'WP_Error'	),	'5.5.0'	);	}	if ( ! headers_sent() ) {	header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );	if ( null !== $status_code ) {	status_header( $status_code );	}	}	echo wp_json_encode( $response, $flags );	if ( wp_doing_ajax() ) {	wp_die(	'',	'',	array(	'response' => null,	)	);	} else {	die;	} } 

Changelog

VersionDescription
5.6.0The $flags parameter was added.
4.7.0The $status_code parameter was added.
3.5.0Introduced.

User Contributed Notes

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