При отправке ответа JSON обратно на запрос AJAX, зачем использовать функцию WordPress, wp_send_json()
а нет echo json_encode()
? Какова выгода от использования функции WordPress wp_send_json()
над echo json_encode()
?
Ref: wp_send_json
При отправке ответа JSON обратно на запрос AJAX, зачем использовать функцию WordPress, wp_send_json()
а нет echo json_encode()
? Какова выгода от использования функции WordPress wp_send_json()
над echo json_encode()
?
Ref: wp_send_json
Ответы:
wp_send_json()
обрабатывает все части возвращаемого содержимого в вызове AJAX. Во-первых, он устанавливает тип содержимого возвращаемого содержимого application/json
с правильной кодировкой. Во-вторых, он автоматически вызывает wp_die()
после отправки результата JSON, что необходимо при вызове AJAX в WordPress.
Вы можете рассмотреть возможность использования wp_send_json_success()
для успешных запросов и wp_send_json_error()
для ошибочных запросов, тем самым придерживаясь стандартов WordPress для обработки запросов AJAX. Эти функции устанавливают success
(логический) и data
(любой тип) ключ в массиве и кодируют весь этот массив, что позволяет вам легко структурированным способом проверить, был ли запрос успешным или что-то пошло не так.