Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt mein WordPress-Ajax-Aufruf „0' zurück?

Warum gibt mein WordPress-Ajax-Aufruf „0' zurück?

Mary-Kate Olsen
Freigeben: 2024-11-03 00:49:29
Original
691 Leute haben es durchsucht

Why Does My WordPress Ajax Call Return

Fehlerbehebung bei Ajax-Aufrufen in WordPress: Warum Ihre Ausgabe „0“ ist

In WordPress kann das Tätigen von Ajax-Aufrufen unkompliziert sein, aber manchmal gibt es Probleme entstehen kann. Ein häufiges Problem besteht darin, dass ein Ajax-Aufruf „0“ als Ausgabe zurückgibt, obwohl ein anderer Wert übergeben wird.

Dieses Problem wird durch das Fehlen der Ajaxurl-Variable im Frontend von WordPress verursacht. Während WordPress diese Variable im Backend definiert, tut sie dies nicht im Frontend, wo Ihre Ajax-Aufrufe ausgeführt werden.

Lösung: Lokalisieren Sie Ihre JavaScript-Datei

An Um dieses Problem zu beheben, müssen Sie die Variable ajaxurl in Ihrem Frontend-Code definieren. Dies kann mit der Funktion wp_localize_script erfolgen, die Daten einem lokalisierten Skript zuordnet.

So geht's:

  1. Stellen Sie Ihre JavaScript-Datei in die Warteschlange:

    <code class="php">function my_enqueue() {
       wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
    }
    add_action( 'wp_enqueue_scripts', 'my_enqueue' );</code>
    Nach dem Login kopieren
  2. Das Skript lokalisieren:

    <code class="php">wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );</code>
    Nach dem Login kopieren

Dieser Code erstellt ein globales Objekt namens my_ajax_object in Ihrem Ajax-Skript, das die Variable ajaxurl enthält.

  1. Verwenden Sie die Variable ajaxurl in Ihrem Ajax-Aufruf:

    <code class="javascript">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

Durch die Verwendung von my_ajax_object.ajax_url können Sie jetzt Ajax-Aufrufe an den richtigen WordPress-Endpunkt tätigen und die erwartete Ausgabe erhalten.

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