Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2017, 14:08
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Задержка ajax запроса
Здравствуйте господа!

Подскажите, почему происходит задержка выполнения ajax запроса на 2-3 секунды?

Алгоритм следующий:
html:
<label>
<input type='radio' id='table1' value="1" onchange='table_check()' name='table1' checked /> текст
</label>

JS:
function table_check(){
load();
}

function load() {
$.post( 'page.php', {'param1': $('#table1').val()}, function(data){
		$('#echo_table').html(data);
	});
}


В блоке echo_table информация обновляется через 2-3 секунды, не могу понять почему...
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2017, 14:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

arkadii_parovozov,
либо сервер тормознутый , либо data слишком большая
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2017, 14:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от arkadii_parovozov Посмотреть сообщение
function table_check(){
load();
}
Эта функция именно так и выглядит в твоем коде?
Т.е. смысл вызвать одну функцию, которая просто вызовет потом другую... Т.ч. есть мнение, что ты нам не все нарисовал.
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2017, 15:18
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

))) там и другие функции выполняются. Символов в data 2185 с пробелами.
Если я даже вешаю load(); непосредственно на "onchange" то ничего не меняется.

Rise, да должно мгновенно )) максимум за 0.1 секунды.

Что-то тормозит ответ, не могу понять что. В js нет функции которая бы показывала какой процесс сколько времени занимает?
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2017, 15:36
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Денвер на локалхосте, виндос.
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2017, 15:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от arkadii_parovozov
В js нет функции которая бы показывала какой процесс сколько времени занимает?
Отладчик браузера выдает подетально время отклика каждого запроса к серверу.
Ответить с цитированием
  #7 (permalink)  
Старый 20.02.2017, 17:10
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Сделал следующим образом:
function load() {
	var startTime = new Date();
//код js
        var endTime = new Date();
	var duration = endTime - startTime;
	alert(duration);
};

Выводит от 1 до 4 (так понимаю это миллисекунды). После того как закрываю окно, проходит около секунды-две, и обновляются данные в таблице. Причем после отработки этой функции js больше ничего не выполняет. Ничего не понимаю....

Последний раз редактировалось arkadii_parovozov, 20.02.2017 в 20:50.
Ответить с цитированием
  #8 (permalink)  
Старый 21.02.2017, 08:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от arkadii_parovozov
там и другие функции выполняются
Тогда нам остается только гадать... А тебе самому посчитать время запроса-ответа на клиенте, а потом на сервере...
Ответить с цитированием
  #9 (permalink)  
Старый 21.02.2017, 10:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от arkadii_parovozov Посмотреть сообщение
Сделал следующим образом:
function load() {
	var startTime = new Date();
//код js
        var endTime = new Date();
	var duration = endTime - startTime;
	alert(duration);
};

Выводит от 1 до 4 (так понимаю это миллисекунды). После того как закрываю окно, проходит около секунды-две, и обновляются данные в таблице. Причем после отработки этой функции js больше ничего не выполняет. Ничего не понимаю....
Вы измерили время запуска функции отправки, а не время от отправки до ответа.
var endTime = new Date(); нужно размещать в обработчике ответа
Ответить с цитированием
  #10 (permalink)  
Старый 21.02.2017, 10:47
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Так я-же говорю, что повесил функцию load() непосредственно на событие onchange

А сама функция load() выглядит так:
function load() {
var startTime = new Date();

	$.post( 'page.php', {'param1': $('#table1').val()}, function(data){

	        $('#echo_table').html(data);

	    });

        var endTime = new Date();
	var duration = endTime - startTime;
	alert(duration);

	};
setInterval(load,300000);


Алерт выводит от 1 до 4 миллисекунды, после того как закрываю окно проходит еще 1-2 секунды и обновляются данные в таблице #echo_table
<div>
<span id='echo_table'><img src='image/load.gif' width='30' height='30' style='margin:10px 0px;' /></span>
</div>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить данные из ajax запроса AlexTrader AJAX и COMET 6 25.12.2016 05:25
Как подключить файл обработки ajax запроса к своему проекту. St. AJAX и COMET 23 15.10.2016 06:53
Обработка данных во время AJAX запроса user783 AJAX и COMET 5 09.12.2011 03:24
Проблема с событиями после ajax запроса Mirgorod AJAX и COMET 5 12.06.2010 18:24
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23