Добрый день, не силен в AJAX скажу честно, не когда с ним не работал, но в сети нашел уроки как работать с AJAX и вот что у меня получается, точнее не нечего не получается.
В мобильной версии
сайта надо отправить данные почтой без перезагрузки страницы вот код разметка
<form class="calckform" action="<?=home_url();?>" method="POST">
<div class="kol-obm">
<div class="col-xs-6">
<p class="text-left obm-text">Объем</p>
<select class="obm" name="obm">
<option value="1">8 М3</option>
<option value="2">12 М3</option>
<option value="3">20-27 М3</option>
<option value="4">32 М3</option>
</select>
</div>
<div class="col-xs-6">
<p class="text-left kol-text">Количество</p>
<select class="kol" name="kol">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div>
</div>
<div class="col-xs-12">
<p class="text-left zona-text">Зона вывоза мусора</p>
<select name="zona" class="zona">
<option value="1">ДО ТТК</option>
<option value="2">ТТК</option>
<option value="3">САДОВОЕ</option>
</select>
</div>
</div>
<div class="row zakazbg">
<div class="zakazform col-xs-12">
<h2 class="text-center">ЦЕНА ВЫвОЗА</h2>
<h1 class="text-center" id ="sumzakaz">3900 руб.*</h1>
<button type="button" class="zaka-btn center-block btn btn-lg" data-toggle="modal" data-target="#kalform">
ОФОРМиТЬ ЗАКАЗ
</button>
</div>
<div class="col-xs-12">
<div class="blocktel">
<p class="text-center">Телефон</p>
<input type="tel" name="tel" class="zakztel center-block" required>
<input type="submit" value="Заказать" class="btn-submit center-block">
</div>
</div>
</div>
</form>
Подправил код JS
Query(document).ready(function($){
//AJAX Запрос
$('.calckform').submit(function() {
var FormData = $('.calckform').serialize(); // Отправляем все данные на сервер
$.ajax({
type: "POST",
data: {
formData: FormData,
action: 'calck_action',
},
url: myajax.url,
success: function(res){
alert(res);
},
error: function(){
alert('Error!');
}
});
return false;
});;
});
а вот код в файле темы functions.php
//Функция обработчика для AJAX
add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
function myajax_data(){
wp_localize_script('calck', 'myajax',
array(
'url' => admin_url('admin-ajax.php')
)
);
}
//Обработка AJAX запроса калькулятора
add_action('wp_ajax_calck_action', 'calck');
add_action('wp_ajax_nopriv_calck_action', 'calck');
function calck()
{
print($_POST['formData']);
wp_die();
}
Почему Wordpress после Ajax запроса возвращает 0?