web-dev-qa-db-fra.com

Pourquoi utiliser wp_send_json () sur echo json_encode ()?

Lors de l'envoi d'une réponse JSON à une demande AJAX, pourquoi utiliser la fonction WordPress wp_send_json() et non echo json_encode()? Quel est l'avantage d'utiliser la fonction WordPress wp_send_json() sur echo json_encode()?

Réf: wp_send_json

6
henrywright

wp_send_json() gère toutes les parties du renvoi de contenu dans un appel AJAX. Tout d'abord, il définit le type de contenu du contenu renvoyé sur application/json avec le jeu de caractères approprié. Deuxièmement, il appelle automatiquement wp_die() après l'envoi du résultat JSON, ce qui est nécessaire pour un appel AJAX dans WordPress.

Vous pouvez envisager d'utiliser wp_send_json_success() pour les demandes abouties et wp_send_json_error() pour les demandes erronées, conformément aux normes WordPress relatives au traitement des demandes AJAX. Ces fonctions définissent une clé success (boolean) et data (tout type) dans un tableau et codent ce tableau entier, vous permettant ainsi de vérifier facilement de manière structurée si la demande a abouti ou non.

12
engelen