web-dev-qa-db-de.com

Warum fügt WordPress einer Ajax-Antwort (Null) hinzu?

Sofern ich die Ajax-Verarbeitungsfunktion nicht durch exit() oder die() beende, erhält die Ajax-Funktion die gewünschte und korrekte Ausgabe, folgt jedoch durch 0.

Irgendeine Idee, warum das passiert?

Soll das so sein oder könnte es behoben werden?

add_action('wp_ajax_get_homepage', 'get_homepage');
add_action('wp_ajax_nopriv_get_homepage', 'get_homepage');

function get_homepage(){
    echo "get_homepage ->";
    exit();
}

Ich habe unter AJAX in Plugins gelesen, aber warum ist das notwendig?

14
Radek

Die Standardantwort von admin-ajax.php lautet:

die( '0' );

... indem Sie Ihre eigene exit() oder die() hinzufügen, nachdem Sie den gewünschten Inhalt zurückgegeben haben, wird verhindert, dass die Standardantwort von admin-ajax.php ebenfalls zurückgegeben wird.

Dies bedeutet im Allgemeinen auch, dass Ihr Ajax-Anruf erfolgreich war.

Um Ihre Frage zu beantworten, soll es letztendlich so funktionieren. Was Sie tun, indem Sie nach der Rückgabe Ihrer Inhalte beenden, ist das Richtige.

28
userabuser