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,072

arkadii_parovozov,
либо сервер тормознутый , либо data слишком большая
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2017, 14:25
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

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

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

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

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

Что-то тормозит ответ, не могу понять что. В js нет функции которая бы показывала какой процесс сколько времени занимает?
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2017, 15:28
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

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

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

Сообщение от arkadii_parovozov
В js нет функции которая бы показывала какой процесс сколько времени занимает?
Отладчик браузера выдает подетально время отклика каждого запроса к серверу.
Ответить с цитированием
  #9 (permalink)  
Старый 20.02.2017, 15:48
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от arkadii_parovozov Посмотреть сообщение
В js нет функции которая бы показывала какой процесс сколько времени занимает?
console.time('process1');
// process1
console.timeEnd('process1');
Ответить с цитированием
  #10 (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.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить данные из ajax запроса AlexTrader AJAX и COMET 6 25.12.2016 05:25
Как подключить файл обработки ajax запроса к своему проекту. St. AJAX и COMET 26 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