Javascript.RU

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

Сообщение от arkadii_parovozov
там и другие функции выполняются
Тогда нам остается только гадать... А тебе самому посчитать время запроса-ответа на клиенте, а потом на сервере...
Ответить с цитированием
  #12 (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(); нужно размещать в обработчике ответа
Ответить с цитированием
  #13 (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>
Ответить с цитированием
  #14 (permalink)  
Старый 21.02.2017, 11:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

arkadii_parovozov,
Снаружи функции обработки ответа вы меряете время только запуска функции отправки.
Надо так:
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);
	    });

 	};

load();

И зачем setInterval? Чтобы просто ждать, пока запустится load?

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

Сообщение от Dilettante_Pro Посмотреть сообщение
И зачем setInterval? Чтобы просто ждать, пока запустится load?
Я конечно не проф. в js но я ее поставил для автозапуска этой функции каждые 5 мин. Или это не правильное решение?
Ответить с цитированием
  #16 (permalink)  
Старый 21.02.2017, 13:48
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Переставил счетчик на получения ответа от сервера, теперь алерт показывает 2000-3000.

Теперь понятно что тормозит процесс файл обработчик page.php спасибо Dilettante_Pro!

Теперь у меня другая беда... )) Этот файл каким-то образом сбивает настройки которые я выставляю в функции load. То-есть в начале функции стоит код
$('.td_6, .td_8, .td_9').css('display','block');

а по умолчанию у этих ячеек 'display','none'.
Так вот, при запуски функции ячейки появляются, а после получения ответа "data" сбрасываются в первоначальное свойство.
В ответе "data" присутствует js код, но он не связан со стилями. Может есть какие-то специальные требования к формату ответа? Может из за этого он ломает настроики которые были заданны в начале функции load?
Ответить с цитированием
  #17 (permalink)  
Старый 21.02.2017, 14:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от arkadii_parovozov
Может есть какие-то специальные требования к формату ответа?
Нет.
Новый контент идет без обработчиков. Для решения проблемы - используй делегирование событий, а не прямое навешивание на элементы...

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

Скажите, почему не вызывается функция из такой конструкции:
$(document).ready(function() {

	$.post( 'page.php', {'value1':$('#pole1').val()}, function(data){
		$('#echo_data').html(data);
		load();
	});

});



function load() {

//-----

}
Ответить с цитированием
  #19 (permalink)  
Старый 21.02.2017, 17:46
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Ну пи...ец!!! 4 часа корячился с кодом из за этой ерунды:
if(result!="")
	{а
$.post( .....
//------

Это просто что-то нереальное.....
php сразу бы меня зарезал, указав на строку с ошибкой, а js молчит и ухмыляется....
Может js можно как-то настроить чтобы он выводил ошибки в синтаксисе?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить данные из 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