Зачем использовать wp_send_json () вместо echo json_encode ()?


9

При отправке ответа JSON обратно на запрос AJAX, зачем использовать функцию WordPress, wp_send_json()а нет echo json_encode()? Какова выгода от использования функции WordPress wp_send_json()над echo json_encode()?

Ref: wp_send_json

Ответы:


18

wp_send_json()обрабатывает все части возвращаемого содержимого в вызове AJAX. Во-первых, он устанавливает тип содержимого возвращаемого содержимого application/jsonс правильной кодировкой. Во-вторых, он автоматически вызывает wp_die()после отправки результата JSON, что необходимо при вызове AJAX в WordPress.

Вы можете рассмотреть возможность использования wp_send_json_success()для успешных запросов и wp_send_json_error()для ошибочных запросов, тем самым придерживаясь стандартов WordPress для обработки запросов AJAX. Эти функции устанавливают success(логический) и data(любой тип) ключ в массиве и кодируют весь этот массив, что позволяет вам легко структурированным способом проверить, был ли запрос успешным или что-то пошло не так.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.