Устранение неисправностей Ajax вызовов в WordPress: почему ваш вывод "0"
в WordPress, создание вызовов Ajax может быть простым, но иногда проблемы могут возникнуть. Одна общая проблема заключается в том, когда вызов AJAX возвращает «0» в качестве вывода, несмотря на передачу другого значения. В то время как WordPress определяет эту переменную в бэкэнд, она не делает этого на фронте, где выполняются ваши вызовы AJAX.
решение: локализовать свой файл JavaScript
, чтобы решить эту проблему, вам необходимо определить переменную ajaxurl в вашем кодексе фронтана. Это можно сделать, используя функцию wp_localize_script, которая связывает данные с локализованным скриптом.
вот как это сделать:
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' );
локализует скрипт: wp_locale_script ('ajax-script => admin_url ('admin-ajax.php')));
wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
jquery.ajax ({{{{{{ Тип: "post", DataType: "json", URL: my_ajax_object.ajax_url, Данные: FormData, Успех: function (msg) { console.log (msg); } });
, используя my_ajax_object.ajax_url, теперь вы можете сделать вызовы Ajax в правильную конечную точку WordPress и получить ожидаемый вывод.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3