Javascript.RU

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

Webflow и AJAX
Здравствуйте. У меня сайт выдаёт странную ошибку. Суть проблемы в том, что есть сайт, свёрстанный в программе webflow. Там есть форма, которая при удачной отправке выводит сообщение с помощью css+js, что всё мол успешно, в случае отправки формы. А если данные не отправлены на сервер, то ошибка.

Я делаю отправку формы в помощью jquery AJAX и несмотря на то, что запрос успешно отправляется, в вёрстке всё равно выводится, что сообщение не отправлено.

Уважаемые профессионалы, в чём может быть проблема и как её решить? Хотелось бы, чтобы отчёт об отправки сообщения выводился красиво, а не просто через alert("Сообщение доставлено");

Есть ещё одна проблема. Если я делаю AJAX запрос через метод GET, то всё отправляется успешно. А если через POST, то выводит следующую ошибку

"Failed to load resource: the server responded with a status of 405 (Method Not Allowed)"

В чём может быть проблема? Можно конечно и через GET отправлять, но хотелось бы и в этом разобраться.

Сам сайт вот:

http://itcity48.ru/#email-form

Последний раз редактировалось kofmaler, 08.10.2018 в 17:05.
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2018, 13:24
Новичок на форуме
Отправить личное сообщение для vaddy Посмотреть профиль Найти все сообщения от vaddy
 
Регистрация: 09.10.2018
Сообщений: 1

вот рабочий скрипт
<script type="text/javascript">
		makeWebflowFormAjax = function( form, successCallback, errorCallback ) {
			form.each(function(){
				var form = $(this);
				form.on("submit", function(){
					var container = 	form.parent();
					var doneBlock  =	$(".w-form-done", container);
					var failBlock  =	$(".w-form-fail", container);
				
					var action = 		form.attr("action");
					var method = 		form.attr("method");
					var data = 			form.serialize();
					
					// call via ajax
					$.ajax({
						type: method,
						url: "send.php",
						data: data,
						success: function (resultData) {
							if (typeof successCallback === 'function') {
								// call custom callback
								result = successCallback(resultData);
								if ( ! result ) {
									// show error (fail) block
									form.hide();
									doneBlock.show();
									failBlock.hide();
									console.log(e);
									
									return;
								}
							}
							
							// show success (done) block
							form.hide();
							doneBlock.show();
							failBlock.hide();
						},
		
						error: function (e) {
							// call custom callback
							if (typeof errorCallback === 'function') {
								errorCallback(e)
							}
							
							// show error (fail) block
							form.hide();
							doneBlock.show();
							failBlock.hide();
							console.log(e);
						}
					});
					
					// prevent default webdlow action
					return false;
				});
			});
		}
		</script>
		
		<script type="text/javascript">
		 makeWebflowFormAjax( $("form") );
		</script>

Последний раз редактировалось vaddy, 09.10.2018 в 14:07.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax разсинхронизация. Sochirom AJAX и COMET 11 27.02.2018 07:10
Отправка формы после ajax проверки ShutTap Общие вопросы Javascript 15 08.04.2016 11:46
Проблема с AJAX Dim@ AJAX и COMET 4 16.09.2012 22:52
Ajax таблица gofkane Работа 0 25.09.2011 11:53
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57