Panggilan Ajax dalam WordPress: Menyelesaikan Masalah Output
Panggilan ajax anda sentiasa mengembalikan 0 sebagai output, membuatkan anda bingung tentang puncanya. Untuk membetulkan isu ini, pertimbangkan perkara berikut:
Pembolehubah ajaxurl global dalam WordPress:
WordPress mentakrifkan pembolehubah ajaxurl global di bahagian belakang, yang memudahkan panggilan AJAX. Walau bagaimanapun, pembolehubah ini tidak tersedia di bahagian hadapan.
Tentukan ajaxurl dalam Frontend:
Untuk menggunakan panggilan AJAX di bahagian hadapan, anda perlu mentakrifkan pembolehubah ajaxurl secara manual . Satu kaedah yang berkesan ialah melalui wp_localize_script.
Menggunakan wp_localize_script:
Dengan mengandaikan panggilan AJAX anda berada dalam my-ajax-script.js, gunakan wp_localize<_script seperti berikut:>
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' );
Gunakan my_ajax_object dalam Javascript:
Selepas menyetempatkan skrip anda, gunakan objek my_ajax_object dalam fail JS anda:Atas ialah kandungan terperinci Mengapakah panggilan AJAX WordPress saya mengembalikan 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!