Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt mein WordPress-AJAX-Aufruf 0 zurück?

Warum gibt mein WordPress-AJAX-Aufruf 0 zurück?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 14:05:02398Durchsuche

Why is my WordPress AJAX call returning 0?

Ajax-Aufrufe in WordPress: Fehlerbehebung bei Ausgabeproblemen

Ihr Ajax-Aufruf gibt immer 0 als Ausgabe zurück, sodass Sie über die Ursache ratlos sind. Um dieses Problem zu beheben, beachten Sie Folgendes:

Globale Ajaxurl-Variable in WordPress:

WordPress definiert die globale Ajaxurl-Variable im Backend, was AJAX-Aufrufe erleichtert. Diese Variable ist jedoch im Frontend nicht verfügbar.

Ajaxurl im Frontend definieren:

Um AJAX-Aufrufe im Frontend zu verwenden, müssen Sie die Ajaxurl-Variable manuell definieren . Eine effektive Methode ist wp_localize_script.

Verwendung von wp_localize_script:

Angenommen, Ihre AJAX-Aufrufe befinden sich in my-ajax-script.js, verwenden Sie wp_localize_script wie folgt:

function my_enqueue() {
    wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
    wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue' );

Dadurch wird ein my_ajax_object-Objekt in Ihrer JS-Datei erstellt, das die ajax_url enthält.

Verwenden Sie my_ajax_object in Javascript:

Nachdem Sie Ihr Skript lokalisiert haben, verwenden Sie es das my_ajax_object-Objekt in Ihrer JS-Datei:

<code class="js">jQuery.ajax({
    type: "post",
    dataType: "json",
    url: my_ajax_object.ajax_url,
    data: formData,
    success: function(msg){
        console.log(msg);
    }
});</code>

Das obige ist der detaillierte Inhalt vonWarum gibt mein WordPress-AJAX-Aufruf 0 zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn