Интерблог

Архив рубрики "Ajax"

А ещё AJAX нужен для...
Автор: Ognezmej. Опубликовано: 28 Мая 2012

Предположим, у Вас запускается тяжёлый PHP-скрипт. Достаточно тяжёлый, чтобы с шансами не уложиться в отпущенные сервером 30 секунд. Разумеется, можно через set_time_limit(), .htacess, php.ini попробовать изменить максимальное время выполнения скрипта, но далеко не все хостеры такое позволяют. По вполне закономерным причинам.

Что делать? Использовать аякс. Для начала осознаем простую истину. Тяжёлый скрипт обычно представляет собой не одну-единственную, а последовательность нескольких/многих функций, в том числе и зацикленных. Ага! Что такое функция? Это входные данные, некие действия и выходные данные. Последовательность функций - это когда входные данные последующей функции являются выходными данными предыдущей. Итак, разбиваем наш тяжёлый скрипт на составляющие функции так, чтобы исполнение каждой с гарантией уложилось в разрешённый отрезок времени. Например, делаем файл ajax.php, где в зависимости от переданной через GET переменной запускается та или иная функция. Делаем основной файл, из которого аяксом будем запускать поочерёдно нужные нам функции, анализируя их ответы. Благодаря Jquery эта задача превращается в чистое удовольствие.

$(селектор).load('ajax.php?function=one', {'var1':var1, 'var2':var2}, function(){анализируем выходные данные, запускаем функцию two, и так далее});

Для скорости работы данные из ajax.php можно получать в json, для простоты и наглядности - прямо в html.

Минусы - общее время работы всё-таки увеличивается. Но зато хотя бы работает. Плюсы - такую игрушку можно легко украсить progressbar-ом, а также можно легко отслеживать ошибки, не дожидаясь окончания работы всего скрипта. Ещё можно добавить кнопку "пауза", "продолжить" и наслаждаться тотальным контролем над выполнением приложения:)

 

Метки: Ajax, jQuery, PHP, Кодинг, Советы

Области применения Ajax
Автор: cyberacing. Опубликовано: 02 Июня 2010

Для чего все-таки нужен Ajax? Где его стоит использовать, а где нет?

Где стоит использовать Ajax:

  • Формы. Они очень медленны. Если асинхронно передавать данные, страница не перезагружается.
  • Навигация в виде "дерева". Вообще, такая навигация - ужас. Простая топология намного удобнее, но если уж до этого дошло, лучше использовать Ajax.
  • Голосования. Пользователю будет приятней оставить свой голос за несколько секунд, чем за 30-40.
  • Система комментариев. Пример: на сайте есть статьи, к которым можно приписывать комментарии. Пользователю приходится все время перезагружать страницу, чтобы увидеть новые посты. Это крайне неудобно.
  • Фильтры. Часто на сайтах делают сортировку по дате, по имени, и т.д. Ajax это будет значительно удобнее.

Где не стоит использовать Ajax:

  • Поиск. Лучше использовать PHP и Perl.
  • Обычная навигация. Для навигации между документами Ajax не поможет.
  • Обновление большого количества текста. Если текст занимает почти всю страницу, то легче перезагрузить ее.
  • Бесполезные украшения. Всякие подсвечивающиеся ячейки и появляющиеся подсказки будут только отвлекать пользователя.

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

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

 

Метки: Ajax, Кодинг

Популярные записи

Принцип неопределённости в РНР

Принцип неопределённости в MYSQL

Недолёт

А ещё AJAX нужен для...

Принцип неопределённости в PHP - праздник продолжается!

Эмуляция плавности в ActionScript.

Программная анимация в ActionScript

Анимация при наведении в ActionScript

Использование кодировки UTF-8

Буквицца

Архив записей  

2019

Янв  

2018

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2017

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2016

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2015

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2014

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2013

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2012

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2011

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2010

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2009

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек