FancyBox как отправлять форму через Ajax ?
Доброго времени суток всем!
Дано: Сайт на Wordpress, с произвольной сраницы должна посредством FancyBox вызываться форма заказа во всплывающем окне, после нажатия на кнопку отправки в этом же окне показать посетителю результат (отправлено, не отправлено, почему не отправлено) и висеть пока человек сам не закроет. Пока пытаюсь работать вот с таким вариантом (источник http://blog.sklazer.com/865.html ) : $(document).ready(function() { $("#wpcf7-f401-o1").submit(function(event) { var postForm = { 'your-name' : $('#user-alias').val(), 'your-email' : $('#user-mail').val(), 'your-message' : $('#add-user-info').val(), 'hidden-747' : $('#order-img').val() }; var postAction = 'http://my-domain.ru' + $('#ajax-form').attr('action'); $.ajax({ type : 'POST', url : postAction, data : postForm, success : function(data) { if (!data.success) { $('#ajax-form').fadeIn(1000).html('<p>' + data.posted + '</p>'); } else { $('#ajax-form').fadeIn(1000).html('<p>' + data.posted + '</p>'); } } }); event.preventDefault(); }); $('.fancy-boxform').fancybox(); }); Собственно вопрос: как указать, что отправляем мы обычный POST запрос, без всяких json и в ответ должны получить обычный html ??? Анализ содержания ответа и выдачу его на экран пока не рассматриваем. Мне бы его получить для начала... |
Цитата:
dataType : 'html', http://api.jquery.com/jQuery.ajax/ Цитата:
|
Там же по ссылке описаны два метода сериализации формы, позволяющие не перечислять имена ее полей и их данных при передаче. Вместо:
var postForm = {'your-name' : $('#user-alias').val() ... поступать так: url : this.action, //var postAction... не требуется, как и 'http://my-domain.ru', если в action относительный путь, остальное браузер сам подставит data : $(this).serialize, и если не требуется индивидуального обращения к полям и именно по id, то эти атрибуты им не нужны. А это как понять? if (!data.success) { $('#ajax-form').fadeIn(1000).html('<p>' + data.posted + '</p>'); } else { $('#ajax-form').fadeIn(1000).html('<p>' + data.posted + '</p>'); } |
2 рони, спасибо за ссылку! Буду изучать.
К сожалению, я настолько плохо знаю JS вообще и jQuery особенно, что даже сформулировать запрос в ПС не могу, чего мне узнать надо. laimas, за подсказку с сериализацией спасибо! А понимать тот кусок кода не надо, там обработчик будет, до которого ещё не дошло дело. Пока оставил что было у автора, который по моей ссылке. |
Часовой пояс GMT +3, время: 11:30. |