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

Barbara Streisand
Freigeben: 2024-11-01 14:05:02
Original
482 Leute haben es durchsucht

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' );
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage