Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Подвисание браузера jQuery AJAX (https://javascript.ru/forum/jquery/44273-podvisanie-brauzera-jquery-ajax.html)

kompot 13.01.2014 17:14

Подвисание браузера 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() из кода.

В чем может быть проблема?
Буду очень благодарен всем откликнувшимся.

kompot 18.01.2014 00:33

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


Часовой пояс GMT +3, время: 17:14.