Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 23.02.2023, 20:13
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

$(document).ready(() => {
			$('#quote_form').on('submit', function () {
				jQuery('#quote_form').addClass('form_sending');
				$.ajax({
					url: "/templates/easy_moving/sendmail.php",
					method: "POST",
					data: jQuery('#quote_form').serialize(),
					contentType: false,
					cache: false,
					processData: false,
					src: window.location.href,
					success: function (data) {
						console.log(data);
					}
				});
			});
		});


Ошибок нет, и не работает
Ответить с цитированием
  #22 (permalink)  
Старый 23.02.2023, 21:09
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

$('#quote_form').click(function(){
			$.post(
				'sendmail.php', // адрес обработчика
				 $("#quote_form").serialize(), // отправляемые данные  		
				
				function(msg) { // получен ответ сервера  
				}
			);
		});


Тоже не пошло
Ответить с цитированием
  #23 (permalink)  
Старый 23.02.2023, 22:01
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 499

BorisJe,
чем это отличается от изначального варианта?
Ответить с цитированием
  #24 (permalink)  
Старый 23.02.2023, 22:09
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

$.ajax({
            url: 'process.php', 
            type: 'POST',
            data: 'passVarOne='+userName+'&passVarTwo='+emailAddress,
            success:function(responseAnyNameHere) {
              $('.responseArea').html(responseAnyNameHere);
            },
            statusCode:{
              404:function(){
                //$('.error').html("Page not found!");
                alert( "file not found" );
              }
            }
          }).done(function() {
          alert( "success" );
          }).fail(function() {
          alert( "error" );
          }).always(function() {
          alert( "complete" );
        });


Вот еще нашел код. Идея такая выполнить, прыгнуть в always и сделать редирект. Работает еще до fail

Последний раз редактировалось BorisJe, 23.02.2023 в 22:22.
Ответить с цитированием
  #25 (permalink)  
Старый 23.02.2023, 23:05
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 499

BorisJe,
Это не поможет. При редиректе произойдёт отключение от серверного скрипта и тот завершится, не успев ничего отправить.

Если не можете решить проблему на стороне сервера, то замените крутилку на прогресс-бар, рассчитанный на 15 секунд, плюс текст с извинениями и просьбой подождать это время. В идеале - ещё занять/развлечь чем-нибудь на это время: текстом, картинкой, и т.д.
Ответить с цитированием
  #26 (permalink)  
Старый 24.02.2023, 14:49
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

Сообщение от Белый шум Посмотреть сообщение
BorisJe,
Это не поможет. При редиректе произойдёт отключение от серверного скрипта и тот завершится, не успев ничего отправить.

Если не можете решить проблему на стороне сервера, то замените крутилку на прогресс-бар, рассчитанный на 15 секунд, плюс текст с извинениями и просьбой подождать это время. В идеале - ещё занять/развлечь чем-нибудь на это время: текстом, картинкой, и т.д.
Тогда Мне кажется с первоначальным скриптом что то не так, он даже выключенной отправкой работает долго. Там используется Jquery 1.12.Х

На 3.6 Делается по другому, но и быстрее работает.

что сделал

$(document).ready(() => {
			$('#quote_form').on('submit', function () {
				jQuery('#quote_form').addClass('form_sending');
				$.ajax({
					url: "/templates/easy_moving/sendmail.php",
					method: "POST",
					data: jQuery('#quote_form').serialize(),
					contentType: false,
					cache: false,
					processData: false,
					src: window.location.href,
					success: function (data) {
						console.log(data);
					}
				});
			});
		});


На отправку не идет. почемуто
Ответить с цитированием
  #27 (permalink)  
Старый 24.02.2023, 18:13
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

Сообщение от Rise Посмотреть сообщение
BorisJe,
Что вы делаете? Почитайте документацию $.ajax(), cache работает только с GET и HEAD, а src там нет.

Как вы работоспособность проверяете? Откройте консоль (F12), посмотрите ошибки.
$(document).ready(() => {
		$(function() {
			$('quote_form').submit(function(e) {
			  $.ajax({
				url: '/templates/easy_moving/sendmail.php',
				data: $("#quote_form").serialize(),
			  }).done(function() {
				console.log('success');
			  }).fail(function() {
				console.log('fail');
			  });
			  //отмена действия по умолчанию для кнопки submit
			  e.preventDefault(); 
			});
		  });
		});


Захожу во все кроме Done
Ответить с цитированием
  #28 (permalink)  
Старый 25.02.2023, 02:27
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

Сообщение от Rise Посмотреть сообщение
BorisJe,
Так ошибка то какая в консоли что пишет?
аллерты Мои выскакивают, ошибок нет
Ответить с цитированием
  #29 (permalink)  
Старый 25.02.2023, 16:02
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

Сообщение от Rise Посмотреть сообщение
BorisJe,
А так?
.fail(function(jqXHR, textStatus, errorThrown) {
    console.log('fail: ', textStatus, errorThrown);
})
fail:  error Internal Server Error

Последний раз редактировалось BorisJe, 25.02.2023 в 16:13.
Ответить с цитированием
  #30 (permalink)  
Старый 25.02.2023, 16:14
Аспирант
Отправить личное сообщение для BorisJe Посмотреть профиль Найти все сообщения от BorisJe
 
Регистрация: 03.12.2021
Сообщений: 66

$(document).ready(() => {
    $(function() {
        $('#quote_form').submit(function(e) {
    $.ajax({
        url: 'sendmail.php', 
        type: 'POST',
        data: $("#quote_form").serialize(),
        success:function(responseAnyNameHere) {
          $('.responseArea').html(responseAnyNameHere);
        },
        statusCode:{
          404:function(){
            //$('.error').html("Page not found!");
            alert( "file not found" );
          }
        }
      }).done(function() {
      alert( "success" )
      }).fail(function(jqXHR, textStatus, errorThrown) {
console.log('fail: ', textStatus, errorThrown);
})
.always(function() {
      alert( "complete" );
    });
          //отмена действия по умолчанию для кнопки submit
          e.preventDefault(); 
        });
      });
    });


Ошибок нет, везде успех но и не отправилось. Но отработало быстро

Последний раз редактировалось BorisJe, 25.02.2023 в 16:41.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фоновое выполнение скрипта AleksSergSB Общие вопросы Javascript 2 19.01.2019 13:54
Выполнение скрипта если есть html элемент Янковиц Элементы интерфейса 2 24.10.2017 21:47
Можно ли отключить выполнение скрипта в IE ? dimba jQuery 2 20.11.2014 07:17
Как приостановить выполнение скрипта до получения результата AJAX запроса? Хиросим AJAX и COMET 9 31.10.2011 10:56
как прекратить выполнение скрипта ? kefi Общие вопросы Javascript 3 31.03.2009 19:05