Зачем использовать 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

henrywright
источник

Ответы:

18

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

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

Engelen
источник