Javascript.RU

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

Подвисание браузера jQuery AJAX
Добрый день, уважаемые форумчане.
Возникла некоторая проблема, которую никак не получается решить.

Использую для отправки формы следующий способ с jQuery:
//...
$(document).ready(function() {
  //...
  //валидация полей формы и т.д.
  $("#add-form").submit(function(e, data) {
     if (data == 'cansubmit') return true;
     e.preventDefault();
     var encodedParams = $.toJSON(rParams);
     $.ajax({
        url:	 '/core/'+hUrl,
        type:	 'POST',
        data:  hData+"="+encodedParams,
        beforeSend: function() {
           $("#btn").val('Загрузка...');
           $("#btn").attr('disabled','disabled');
        },
        success: function(response) {
           console.log(response);
           if (response == 'ok') {
              $('#add-form').trigger('reset');
              $('#add-form').trigger('submit', 'cansubmit');
           } else {...}
        },
        error:  function(){
           //...
           $("#btn").val('Добавить');
           $("#btn").removeAttr('disabled');
        }
     });
   });
});


Суть проблемы в том, что при тестировании не на локальном сервере, а на VPS после нажатия на кнопку перед отправкой данных браузер подвисает на некоторое время (примерно полсекунды), но это подвисание достаточно хорошо ощущается. Кнопка залипшей остается.
Для проверки сделал php-файл c delay(5), чтобы проверить, работает ли скрипт асинхронно. Таким образом получается, что сначала происходит подвисание, потом браузер отлипает и срабатывает beforeSend и кнопка меняет значение, а через 5 секунд кнопка снова возвращает старое значение, успешно дождавшись ответа.
Периодически подвисания нет, словно какие-то данные достаются из кэша и все отрабатывает нормально.
Подвисания нет, если убрать конструкцию $.ajax() из кода.

В чем может быть проблема?
Буду очень благодарен всем откликнувшимся.
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2014, 00:33
Новичок на форуме
Отправить личное сообщение для kompot Посмотреть профиль Найти все сообщения от kompot
 
Регистрация: 13.01.2014
Сообщений: 2

Вроде как вопрос решен. По всей видимости проблема была в отсутствии памяти на локальной машине и тормозами самого браузера по этой причине.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Живой поиск JQUERY + AJAX + PHP + MYSQL dimi007 AJAX и COMET 2 22.07.2014 13:50
Не работает ajax в паре с jquery DedMa3ajjj AJAX и COMET 1 01.09.2013 14:15
jQuery Ajax ивент krasovsky jQuery 4 11.07.2013 11:55
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
AJAX и history браузера Shasoft jQuery 5 25.06.2009 16:22