Вызовы Ajax в WordPress: устранение проблем с выводом
Ваш вызов ajax всегда возвращает 0 в качестве вывода, оставляя вас в недоумении по поводу причины. Чтобы устранить эту проблему, рассмотрите следующее:
Глобальная переменная ajaxurl в WordPress:
WordPress определяет глобальную переменную ajaxurl в серверной части, что облегчает вызовы AJAX. Однако эта переменная недоступна во внешнем интерфейсе.
Определите ajaxurl во внешнем интерфейсе:
Чтобы использовать вызовы AJAX во внешнем интерфейсе, вам необходимо вручную определить переменную ajaxurl . Одним из эффективных методов является wp_localize_script.
Использование wp_localize_script:
Предполагая, что ваши вызовы AJAX находятся в my-ajax-script.js, используйте wp_localize_script следующим образом:
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' );
Это создает объект my_ajax_object в вашем файле JS, который содержит ajax_url.
Используйте my_ajax_object в Javascript:
После локализации скрипта используйте объект my_ajax_object в файле JS:
jQuery.ajax({
type: "post",
dataType: "json",
url: my_ajax_object.ajax_url,
data: formData,
success: function(msg){
console.log(msg);
}
});
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3