Описание функции wp_send_json_error()
Функция wp_send_json_error() используется для отправки JSON-ответа с ошибкой. Она автоматически устанавливает заголовок Content-Type в application/json и завершает выполнение скрипта. Эта функция полезна для обработки AJAX-запросов, когда необходимо вернуть информацию об ошибке.
Функция позволяет передать дополнительные данные об ошибке, такие как сообщение или код ошибки.
Параметры
$data
Тип: mixed
Обязательный: Нет
По умолчанию: null
Описание: Дополнительные данные об ошибке, которые будут отправлены вместе с ответом
Возможные значения:
Возвращаемое значение
Тип: void
Описание: Не возвращает никаких значений, завершает выполнение скрипта после отправки ответа
Возможные значения:
Примеры использования
Отправляет простое сообщение об ошибке
wp_send_json_error('Ошибка загрузки');
Клиент получит JSON-ответ с ошибкой
Отправляет массив с кодом и сообщением об ошибке
wp_send_json_error(array('code' => 500, 'message' => 'Внутренняя ошибка сервера'));
Клиент сможет получить структурированный ответ
Используется при загрузке файла через AJAX
if (!$file_uploaded) { wp_send_json_error('Ошибка загрузки файла'); }
Возвращает ошибку, если загрузка не удалась
Обработка AJAX-запроса с проверкой прав
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
if (!current_user_can('upload_files')) {
wp_send_json_error('Недостаточно прав');
}
// Дальнейшая логика%...
}
Возвращает ошибку, если пользователь не имеет прав
Безопасность
Валидация входных данных: Функция не принимает обязательные параметры, проверка данных зависит от использования
Санитизация: Рекомендуется очищать данные перед отправкой
Рекомендации: При использовании с пользовательскими данными убедитесь, что они безопасны и валидны
— Связанные функции
Отправляет JSON-ответ с успешным результатом
Проверяет доступ для неавторизованных пользователей
— Примечания
– Ограничения
Функция завершает выполнение скрипта, не позволяя дальнейшему выполнению кода
– Частые проблемы
- Необработанные ошибки могут вызывать проблемы с ответами AJAX
- Неиспользование функции может привести к неправильной обработке ошибок на клиенте