Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Действительно ли AJAX сильно тормозит?

Сообщения:  [1-10]   [11-11] 

 
 автор: cheops   (02.03.2013 в 08:34)   письмо автору
 
   для: Владимир55   (26.02.2013 в 19:30)
 

>Действительно AJAX так сильно тормозит?
Не совсем, но это можно легко обеспечить
>Можно ли что-то оптимизировать?
Да.

HTTP реализован на базе транспортного протокола TCP, который вообще говоря оптимизирован под загрузку объемных файлов, а не кучи мелких файлов, как в случае HTTP. Поэтому, чуть связь похуже, начинаются лютые тормоза и чем больше мелких файлов, тем более это становится заметно, особенно если речь о критичных файлов вроде AJAX-ответов. Ситуацию немного выправили в HTTP 1.1.

Как с этим бороться? Постарайтесь не выдавать в AJAX HTML-код, который требует загрузки изображений, JS/CSS-файлов, которых нет на уже загруженной странице. Вы правильно подметили, пользователи психологически привыкли дожидаться первой загрузки файлов, но от AJAX ждут моментальной реакции, ну или по крайней мере. Грузите по AJAX только текст, JSON, XML, все оформление пусть уже будет на странице.

  Ответить  
 
 автор: confirm   (28.02.2013 в 18:24)   письмо автору
 
   для: Владимир55   (26.02.2013 в 19:30)
 

AJAX - это не какой-то особый протокол, говоря примитивно, это контейнер, который взаимодействует с сервером по тем же протоколам. Не он тормозной, а скорее у вас код этого взаимодействия необдуманный.

  Ответить  
 
 автор: Loki бред написал   (28.02.2013 в 16:30)
 
   для: Владимир55   (26.02.2013 в 19:30)
 

Ну вы сами подумайте. Одно дело получить страницу и перестроить ее полностью, или подменить содержимое DIVa небольшим кусочком информации, оставив за бортом стили, изображения, скрипты...

Можно конечно получать и HTML, CSS, JAVASCRIPT и применять комплекс изменений, например изменить тему текущей страницы, тогда уже есть смысл подумать стоит ли так делать, так как есть другие подводные камни, но и они имеют изящные решения.

Чтобы убедиться в большей скорости при использовании AJAX, просто подгрузите фрагмент статической информации, без запуска сессий, подлючений к базе, каких то там выборок, и т.п. и сравните это с перегрузкой страницы уже с шапкой head и всем прочив говном требующимся для ее отображения. Разница будет на лицо. Нужно просто не лениться и потестить.

Так же есть разница использовать для тестов js библиотеки или написать собственное быстрое и компактное решение реализации подгрузки данных.

;) Ну а так вообще AJAX тормозит страшно,особенно при подключении 50+ библиотек, неустойчив в поведении, глючит и вообще зачем это говно использовать. Какой то дурак сказал, одни проблемы только от него.

  Ответить  
 
 автор: admiral   (28.02.2013 в 11:39)   письмо автору
 
   для: Владимир55   (26.02.2013 в 19:30)
 

А форма генерируется сервером и отдается клиенту? Если да, то загружайте форму вместе со страницой, а контейнеру формы задайте display:none, тогда при вызове формы подгружайте только значение полей. Я так всегда делаю, работает мгновенно.

  Ответить  
 
 автор: Valick   (27.02.2013 в 20:11)   письмо автору
 
   для: Владимир55   (27.02.2013 в 15:33)
 

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

  Ответить  
 
 автор: psychomc   (27.02.2013 в 16:08)   письмо автору
 
   для: Владимир55   (27.02.2013 в 15:33)
 

в принципе, наверное ajax может работать немного медленее, чем обычный запрос в определенных случаях. думаю, это зависит от браузера и от производительности пк. данные отправляются и принимаются на стороне клиента, и скорее всего в этих двух случаях проходят еще какую-то дополнительную обработку на стороне клиента. вот это скорее всего и съедает какие-то лишние доли секунды. а по поводу траффика сложно сказать, ajax обычно наоборот его сильно экономит, если применять к месту

  Ответить  
 
 автор: Владимир55   (27.02.2013 в 15:33)   письмо автору
 
   для: psychomc   (27.02.2013 в 11:59)
 

Форма выводится предзаполненной.

  Ответить  
 
 автор: psychomc   (27.02.2013 в 11:59)   письмо автору
 
   для: Владимир55   (27.02.2013 в 10:33)
 

Отправить понятно, а заполняте когда? В форму динамически подгружаются новые данные при каких-то манипуляциях пользователя, или после загрузки страницы в обычном режиме отправляется еще и ajax-запрос чтобы форму заполнить?

  Ответить  
 
 автор: Владимир55   (27.02.2013 в 10:33)   письмо автору
 
   для: psychomc   (26.02.2013 в 20:08)
 

И чтобы заполнить, и чтобы отправить. Но отправка производится достаточно быстро, так что с ней все нормально.

  Ответить  
 
 автор: psychomc   (26.02.2013 в 20:08)   письмо автору
 
   для: Владимир55   (26.02.2013 в 19:30)
 

хм, не понятно для чего вы применяете ajax. чтобы отправить данные с формы, или чтобы заполнить форму данными?

  Ответить  

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования