Я пытаюсь использовать woocommerce Ajax, я нахожу много примеров в Интернете, ни один из них не работает. может кто-нибудь взглянуть на мой код, в чем проблема.
add_action( 'wp_ajax_my_action', 'mmy_real' );
add_action( 'wp_ajax_nopriv_my_action', 'mmy_real' );
function mmy_real(){
check_ajax_referer( 'my-special-string', 'security' );
$make = $_SESSION['vpf']['search']['make'];
$model = $_SESSION['vpf']['search']['model'];
$year = $_SESSION['vpf']['search']['year_id'];
die();
}
function mmy_script(){
wp_register_script( "hover_script", get_template_directory_uri() . '/js/mmy.js', array('jquery'), '1.0.0', true );
wp_localize_script( 'hover_script', 'mmy', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ),'security' => wp_create_nonce( 'my-special-string' )));
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'hover_script' );
}
add_action('init', 'mmy_script');jQuery(document).ready(function() {
jQuery.ajax({
type: "post",
url : mmy.ajaxurl,
data:{
action:"mmy_real",
make: "make",
model: "model",
year: "year"
},
success: function( response ) {
alert("success");
}
});
});Тестирую в localhost. Он не будет предупреждать об успешном сообщении, если я изменю URL-адрес на localhost / fhgroupauto / test.php. это предупредит успех.
Я не знаю, что мне по этому поводу не хватает.
Спасибо
Думаю, это довольно просто. Я просто хочу использовать ajax для woocommerce, но когда я использую онлайн-код, это не работает. весь код включен выше. из файлов php в файлы js.






Значение «действия» неверно.
Вы добавляете ловушки «wp_ajax_my_action» и «wp_ajax_nopriv_my_action», поэтому строка после «wp_ajax_» и «wp_ajax_nopriv_» является параметром для ключа «action».
Это означает, что ваш массив данных для вызова ajax должен выглядеть так:
data:{
action: "my_action",
make: "make",
model: "model",
year: "year"
},
Для получения дополнительной информации см. Документацию Wordpress - AJAX в плагинах.
Я пытаюсь использовать его в fhallseason.com «магазин на автомобиле», после того, как я активирую самый быстрый кеш wp, мне нужно использовать ajax, чтобы изменить это. Я хочу, чтобы эта работа была загружена при загрузке страницы.