Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.03.2015, 21:11
Новичок на форуме
Отправить личное сообщение для Cutter Посмотреть профиль Найти все сообщения от Cutter
 
Регистрация: 02.03.2015
Сообщений: 5

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 ???

Анализ содержания ответа и выдачу его на экран пока не рассматриваем.
Мне бы его получить для начала...
Ответить с цитированием
  #2 (permalink)  
Старый 15.03.2015, 21:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от Cutter
и в ответ должны получить обычный html ???
строка 17
dataType : 'html',

http://api.jquery.com/jQuery.ajax/

Цитата:
Функция $.ajax() узнает о типе присланных сервером данных от самого сервера (средствами MIME). Кроме этого, существует возможность лично указать (уточнить), как следует интерпретировать эти данные. Это делается с помощью параметра dataType.
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2015, 02:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Там же по ссылке описаны два метода сериализации формы, позволяющие не перечислять имена ее полей и их данных при передаче. Вместо:

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>');
  }

Последний раз редактировалось laimas, 16.03.2015 в 02:57.
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2015, 17:42
Новичок на форуме
Отправить личное сообщение для Cutter Посмотреть профиль Найти все сообщения от Cutter
 
Регистрация: 02.03.2015
Сообщений: 5

2 рони, спасибо за ссылку! Буду изучать.
К сожалению, я настолько плохо знаю JS вообще и jQuery особенно, что даже сформулировать запрос в ПС не могу, чего мне узнать надо.

laimas, за подсказку с сериализацией спасибо!

А понимать тот кусок кода не надо, там обработчик будет, до которого ещё не дошло дело. Пока оставил что было у автора, который по моей ссылке.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Передать параметры через HREF в AJAX izcian Общие вопросы Javascript 5 18.08.2012 20:04
Автоматическая работа script в подгруженном через AJAX div'e rost Javascript под браузер 4 06.07.2012 21:24
Как в страницу подгружаемую через AJAX передать $_GET? pagal AJAX и COMET 7 08.11.2011 21:09