Warum wp_send_json () über echo json_encode () verwenden?

9

Warum sollten Sie beim Senden einer JSON-Antwort auf eine AJAX-Anfrage die WordPress-Funktion verwenden wp_send_json()und nicht echo json_encode()? Was ist der Vorteil der Verwendung der WordPress-Funktion wp_send_json()gegenüber echo json_encode()?

Ref: wp_send_json

Henrywright
quelle

Antworten:

18

wp_send_json()behandelt alle Teile der Rückgabe von Inhalten in einem AJAX-Aufruf. Zunächst wird der Inhaltstyp des zurückgegebenen Inhalts application/jsonmit dem richtigen Zeichensatz festgelegt. Zweitens wird wp_die()nach dem Senden des JSON-Ergebnisses automatisch aufgerufen, was bei einem AJAX-Aufruf in WordPress erforderlich ist.

Sie können die Verwendung wp_send_json_success()für erfolgreiche Anfragen und wp_send_json_error()für fehlerhafte Anfragen in Betracht ziehen und dabei die WordPress-Standards für die Bearbeitung von AJAX-Anfragen einhalten. Diese Funktionen setzen einen success(booleschen) und einen data(beliebigen Typ) Schlüssel in einem Array und codieren das gesamte Array. Auf diese Weise können Sie auf strukturierte Weise überprüfen, ob die Anforderung erfolgreich war oder ob ein Fehler aufgetreten ist.

engelen
quelle