Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery ajax - оооочень медленно :( (https://javascript.ru/forum/jquery/35295-jquery-ajax-oooochen-medlenno.html)

lolka84 06.02.2013 20:01

Так локально то оно работает так же точно! :) По времени в смысле. На 3х разных компьютерах :(

DjDiablo 06.02.2013 20:07

Что значит локально ? c Денвера чтоли ?
на денвере у мну waiting 89ms против 3000 в инете.

lolka84 06.02.2013 20:11

Ну да.
Это всё хозяйство не для интернета, функционировать будет на одной машине, на которой подниму сервер с БД, ну или на крайний случай поставлю тот же денвер, не принципиально.

lolka84 06.02.2013 20:16

Одно все-таки не понятно: по какой причине страница на несколько секунд подвисает. Неужели из-за того, что js полученные данные на страницу вставляет ? Так их, по сути, не так уж и много.
Даже если в запрос поставить LIMIT 0,50 - все равно около двух секунд "висит". Ерунда какая-то :(

devote 06.02.2013 20:21

Цитата:

Сообщение от DjDiablo
просто время отклика сервера около 3х секунд

если бы сервер откликался 3 сек, я бы и основную страницу увидел бы не ранее чем через 3 сек. Но ее вижу сразу, моментально... Просто видимо при запросе на сервере, та страница куда обращается аякс, что то тормозит работу пыхапэ или на клиенте что-то тормозит. Нужно видеть полную картину клиентского и серверного кода.

devote 06.02.2013 20:29

Хотя все и так понятно. Вы вставляете огромное количество таблиц/ячеек через innerHTML я полагаю, да и что-то еще, ибо даже диалог поиска открывается через секунду после клика.. Что-то у вас на клиенте затормаживает все.

DjDiablo 06.02.2013 20:33

3с, в network смотрел.

Вы вставляете огромное количество таблиц/ячеек через innerHTML я полагаю,
через .html();
Я последние минут 15 через профилирование пытался замерить, но неудобно. Надо прям в коде замерерить сколько html работает.

devote 06.02.2013 20:34

и подобным образом писать не стоит:
$("#idP").html("");
$("#idP").append('<select id="idPastleDoctors" class="styled nonEnter" name="doctor">' + sel + '</select>');

пишите так:
$("#idP").html('<select id="idPastleDoctors" class="styled nonEnter" name="doctor">' + sel + '</select>');

У вас много написано совершенно не думая о скорости работы, запросы к элементам не нужно делать так:
$("#idError").css("top",$(window).scrollTop());
$("#idError").html(text);
$("#idError").show(500);

нужно писать так:
$("#idError").css("top",$(window).scrollTop()).html(text).show(500);

ну или на крайняк так:
var elem = $("#idError");
elem.css("top",$(window).scrollTop());
elem.html(text);
elem.show(500);

Это увеличит скорость работы JavaScript в разы

lolka84 06.02.2013 20:34

Понятно. Что ничего не понятно :) Но все равно - спасибо откликнувшимся за потраченное на меня время.

lolka84 06.02.2013 20:34

Цитата:

Сообщение от DjDiablo (Сообщение 232075)
Надо прям в код вписать замер.

Что нужно сделать ?:) Что куда вписать ?


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