Pourquoi utiliser wp_send_json () sur echo json_encode ()?

9

Lors du renvoi 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 de WordPress wp_send_json()sur echo json_encode()?

Réf: wp_send_json

Henrywright
la source

Réponses:

18

wp_send_json()gère toutes les parties du retour de contenu dans un appel AJAX. Tout d'abord, il définit le type de contenu du contenu retourné application/jsonavec 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 dans un appel AJAX dans WordPress.

Vous pouvez envisager d'utiliser wp_send_json_success()pour les demandes réussies et wp_send_json_error()pour les demandes erronées, adhérant ainsi aux normes WordPress pour le traitement des demandes AJAX. Ces fonctions définissent une clé success(booléenne) et data(de tout type) dans un tableau et codent l'ensemble de ce tableau, vous permettant ainsi de vérifier facilement de manière structurée si la demande a réussi ou si quelque chose s'est mal passé.

engelen
la source