Fehlerbehebung von Ajax -Anrufe in WordPress: Warum Ihre Ausgabe "0"
in WordPress ist, kann es direkt sein, Ajax -Anrufe zu tätigen, aber manchmal können Probleme entstehen. Ein häufiges Problem ist, wenn ein Ajax -Anruf "0" als Ausgabe zurückgibt, obwohl ein anderer Wert übergeht.
Dieses Problem wird durch das Fehlen der Ajaxurl -Variablen an der Frontend von WordPress verursacht. Während WordPress diese Variable im Backend definiert, geschieht dies nicht in der Frontend, wo Ihre Ajax -Anrufe ausgeführt werden.
Lösung: Lokalisieren Sie Ihre Javascript -Datei
, um dieses Problem zu beheben, müssen Sie den Ajaxurl -Variablen in Ihrem Frontend -Code definieren. Dies kann unter Verwendung der Funktion WP_LOCALICE_Script erfolgen, die Daten mit einem lokalisierten Skript in Verbindung bringt. wp_enqueue_script ('ajax-script', get_template_directory_uri (). '/js/my-ajax-script.js', Array ('JQuery')); } add_action ('wp_enqueue_scripts', 'my_enqueue');
wp_localize_script ('Ajax-script', 'my_a. admin_url ('admin-ajax.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' );
jquery.ajax ({{{{ Typ: "Post", Datentyp: "JSON", URL: my_ajax_object.ajax_url, Daten: Formdata, Erfolg: Funktion (msg) { console.log (msg); } });
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' );
unter Verwendung von my_ajax_object.ajax_url können Sie jetzt AJAX -Anrufe zum richtigen WordPress -Endpunkt tätigen und die erwartete Ausgabe empfangen. Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3