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, berücksichtigen 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.
Verwenden 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' );
Dies erstellt ein my_ajax_object-Objekt in Ihrer JS-Datei, das die ajax_url enthält.
Verwenden Sie my_ajax_object in Javascript:
Nachdem Sie Ihr Skript lokalisiert haben, verwenden Sie das my_ajax_object-Objekt in Ihrer JS-Datei:
jQuery.ajax({
type: "post",
dataType: "json",
url: my_ajax_object.ajax_url,
data: formData,
success: function(msg){
console.log(msg);
}
});
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