wp_send_json_success()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Возвращает JSON-ответ в обработчике AJAX-запроса WordPress. Этот ответ также содержит свойство success => true, обозначающий успешный результат выполнения скрипта.

Устанавливает в заголовке ответа Content-Type: application/json.

После вывода JSON данных работа скрипта в асинхронном запросе будет прервана функцией wp_die().

wp_send_json_success( $data = null, $status_code = null, $options = 0 )

Параметры

$data
Данные, которые нужно преобразовать в JSON.
$status_code
(целое) Код ответа сервера. Их список можно найти здесь.
 
С версии WordPress 4.7.0
$options
В этом параметре можно передать один или несколько флагов-констант, задающих правила преобразования в JSON, эти константы описаны в документации PHP.
 
Использовать можно следующие константы: JSON_FORCE_OBJECT, JSON_HEX_QUOT, JSON_UNESCAPED_UNICODE, JSON_INVALID_UTF8_IGNORE, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_INVALID_UTF8_SUBSTITUTE, JSON_UNESCAPED_LINE_TERMINATORS, JSON_NUMERIC_CHECK, JSON_PARTIAL_OUTPUT_ON_ERROR, JSON_PRESERVE_ZERO_FRACTION, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_THROW_ON_ERROR
 
С версии WordPress 5.6.0

Пример

Предположим, что у нас есть какой-то примерно такой AJAX-запрос:

$.ajax({
	type : 'POST',
	url : ajaxurl, // wp-admin/admin-ajax.php
	data : {
		action : 'someaction',
		// ещё какие-нибудь данные например
	},
	success : function( response ) {
		// выводим в консоль
		console.log( response );
		if( true === response.success ) {
			console.log( response.data.message );
			$( '#result' ).text( response.data.message );
		}
 
	}
 
});

Обработчик AJAX-запроса выглядит так:

add_action( 'wp_ajax_someaction', function(){
 
	/* Тут выполняется различный код, который вам нужно */
 
	wp_send_json_success( array( 'message' => 'Сохранено' ) );
 
} );

Если не понимаете, что тут происходит, скорее смотреть этот видеоурок.

А в консоли получим:

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии