Когда мы вешаем аякс обработчик на кнопку submit, может возникнуть проблема из-за которой страница будет перезагружена и в адресную строку передадутся данные по методу GET-запрос, не смотря на то, что в type мы прописали POST.
Решается проблема довольно просто. Достаточно лишь предотвратить отправку формы используя preventDefault().
jQuery(function($){ // оборачиваем скрипт, чтобы в WP-шном jQuery работал $ $("#cfawp_1000").submit(function(e){ //клик по кнопке отправки формы. cfawp_1000 — это ID тега <form> e.preventDefault(); // предотвращаем отправку формы var data = $("#cfawp_1000").serializeArray(); // помещаем поля формы в массив json, для передачи в аякс обработчик jQuery.ajax({ // старт аякс обработки type: "POST", url: wlAjax.ajaxurl, data: data, success: function(){ alert(‘Передача успешна!’); } }); }); });
Особых пояснений, я полагаю, не требуется. Разве что по function(e). Это event, т.е событие. Т.е. первым аргументом в функцию-обработчик события отправляется ссылка на объект события. Или говоря совсем уж простым языком — тут у нас ссылка, переход по которой нам необходимо прервать.