Por que usar wp_send_json () sobre echo json_encode ()?

9

Ao enviar uma resposta JSON de volta a uma solicitação AJAX, por que usar a função WordPress wp_send_json()e não echo json_encode()? Qual é a vantagem de usar a função WordPress wp_send_json()mais echo json_encode()?

Ref: wp_send_json

Henry Wright
fonte

Respostas:

18

wp_send_json()lida com todas as partes do retorno de conteúdo em uma chamada AJAX. Primeiro, ele define o tipo de conteúdo retornado application/jsoncom o conjunto de caracteres apropriado. Em segundo lugar, ele chama automaticamente wp_die()após o envio do resultado JSON, necessário em uma chamada AJAX no WordPress.

Você pode considerar o uso wp_send_json_success()de solicitações bem-sucedidas e wp_send_json_error()erradas, aderindo aos padrões do WordPress para lidar com solicitações AJAX. Essas funções definem uma chave success(booleana) e data(qualquer tipo) em uma matriz e codificam toda a matriz, permitindo, assim, verificar facilmente de maneira estruturada se a solicitação foi bem-sucedida ou se algo deu errado.

Engelen
fonte