¿Por qué usar wp_send_json () sobre echo json_encode ()?

9

Al enviar una respuesta JSON a una solicitud AJAX, ¿por qué usar la función WordPress wp_send_json()y no echo json_encode()? ¿Cuál es la ventaja de utilizar la función de WordPress wp_send_json()más echo json_encode()?

Árbitro: wp_send_json

henrywright
fuente

Respuestas:

18

wp_send_json()maneja todas las partes del contenido devuelto en una llamada AJAX. En primer lugar, establece el tipo de contenido del contenido devuelto application/jsoncon el juego de caracteres adecuado. En segundo lugar, llama automáticamente wp_die()después de enviar el resultado JSON, que es necesario en una llamada AJAX en WordPress.

Puede considerar usar wp_send_json_success()para solicitudes exitosas y wp_send_json_error()para solicitudes erróneas, adhiriéndose a los estándares de WordPress para manejar solicitudes AJAX. Estas funciones establecen una tecla success(booleana) y data(de cualquier tipo) en una matriz y codifican esa matriz completa, lo que le permite verificar fácilmente de manera estructurada si la solicitud fue exitosa o si algo salió mal.

Engelen
fuente