Меню сайта
Мини-чат
Последние ответы на форуме
Последние файлы / игры

Тестовая новость

(Обзоры)

Тестовая новость

(Обзоры)

Последние статьи
Последние видео

Тестовая новость

(Обзоры)

Тестовая новость

(Обзоры)

Реклама

  • Страница 1 из 1
  • 1
AJAX и PHP: создание быстро реагирующих веб-приложений
ADMINДата: Воскресенье, 16.08.2009, 14:37 | Сообщение # 1
Призрак
Группа: Администраторы
Сообщений: 13
[ 0 ]
Статус: Offline
Введение

Компьютер, привлечь робот! говорит мой молодых Кузен на первый компьютер, он никогда не видел. (Поскольку Я поручил ему не слушать незнакомых людей, на компьютере было восприимчивым к этой команды.) Если вы являетесь подобно мне, вашей первой мысли бы "как глупых" или "как забавные" �but это является ошибкой. Наши образованных и моделируемый мозги узнали, как для работы с компьютерами в определенной степени. Люди обучаются для размещения компьютеров, чтобы компенсировать отсутствие компьютеров, способностью понимать человеком. (С другой стороны, человеку не может вместить очень хорошо сами, но это уже другая история.)

Это мало рассказ имеет отношение к пути, человек инстинктивно работы с компьютерами. В идеальном мире, что сказанного команды должны были достаточно, чтобы иметь на компьютере, пожалуйста мой двоюродный брат. Технологии способность быть удобной для пользователей развивалась очень многое в течение последних лет, но есть еще долгий путь до мы имеем реальных саморегулирующиеся компьютеров. До тех пор люди необходимо научиться работать с computers�some в той мере, в какой они в конечном итоге любить черного экрана с крошечных командной строки на нем.

Не кстати компьютер рабочие привычки многих являются движущей силой программное обеспечение с пользовательские интерфейсы, позволяющие интуитивно (и приятной) человека взаимодействия. Это вероятно объясняет популярности правую кнопку мыши, удивительно затейливого функции такие как перетаскивания и падение или что простой текстовое поле, которое ищет вас содержимого всех через Интернет в просто 0,1 секунды (или таким образом он говорит). Индустрии программного обеспечения (или прибыльной части, все равно) имеет видели, проанализированы и уроки. Сейчас на рынке является полной программы с блестящий кнопок, значков, окон и мастеров, и люди уделяя большое количество денег для них .

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

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

Понимание способ народной мозги работы бы ключевое значение для построения приложений конечной программного обеспечения. Хотя мы далеко с этой точки зрения, какие мы понимаем заключается в том, что конечным пользователям необходимо интуитивно понятный пользовательский интерфейс; они не действительно уход, какая операционная система они работаете пока, как функциональные возможности, они получают и какие они ожидают . Это важной деталью следует иметь в виду, так как многие программисты склонны думать и говорить в технических терминов, даже при работе с конечными пользователями (хотя в типичной развития команде, программиста не взаимодействовать непосредственно с конечным пользователем). Если вы не согласны, попытаться помните, сколько раз, вы говорит базе слово, когда мы говорим нетехнические лицу.

Отметив потребности и привычки людей при работе с компьютерными системами, удобства использования программного обеспечения термин был born�referring к АРТ совещание пользователей интерфейс ожиданий, понимание характера их работы и создание программных приложений, соответственно.

Исторически сложилось так, удобства методы применялись главным образом для настольных приложений, просто потому, что необходимые средства не были доступны для веб-приложений. Вместе с тем как в Интернете получает более зрелых, технологии, она позволяет являются все более сильнодействующим.

Современные Интернет технологии не только позволяют создавать более присутствии, но также позволяет лучше Интранет/посвящен приложений. Имея Дружественные сайты происходит решающее значение для Интернет бизнеса, потому, что в Интернете никогда не спит, и клиенты часто мигрировать следующей "большой вещь », который выглядит лучше или чувствует для перемещения быстрее. В то же время возможность построения безопасных веб-интерфейсов дает альтернативные варианты интрасети программные решения, которые ранее были построены главным образом как настольных приложений.

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

Как следствие, многие технологии были разработаны (и, по-прежнему разрабатываются) для добавления заметным огней, доступность и власть в веб-приложений. Заметные примеры включают Java-апплеты и Macromedia Flash, которые требуют пользователям устанавливать отдельные библиотеки в своих веб-обозреватели.

Доставка работы через Интернет

Веб-приложений являются приложениями которого функциональность обрабатывается на веб-сервере и доставляется конечным пользователям в сети таких, как в Интернете или интрасети. Конечным пользователям использовать тонкого клиента (браузера) для запуска веб-приложений, который знает, как отобразить и выполнить данные, полученные от сервера. Напротив настольных приложений основаны на толщиной клиентом (также называемых богатых клиент или жира клиент), который выполняет большую часть обработки.

Веб-приложений развиваться, мечтающих что однажды они увидите и вести себя подобно их зрелых (и мощные) родственникам, настольных приложений. Поведение любое программное обеспечение, взаимодействует с человеком настоящее еще важнее, чем она используется для, поскольку сегодня базе пользователя компьютера варьируется гораздо больше, чем в прошлом, когда пользователи были технически рациональные, а. Теперь нужно отображать хорошие выглядящих отчеты для Синди, Менеджер отдела продаж, и необходимо предоставить Дэйв, лицо, продажи формах ввода удобный и простой в использовании данных.

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

Другая проблема с веб-приложений заключается в стандартизации. Сегодня, всё web‑accessible должна проверяться с по меньшей мере два или три обозреватели обеспечить, что все ваши посетители получат полную отдачу от вашего сайта.

Преимущества веб-приложений

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

* Веб-приложений являются простые и недорогие доставить. С веб-приложениями компания может снизить расходы на IT-департамента что является установка программного обеспечения на компьютерах пользователей. С веб-приложениями все, что пользователи нуждаются — это компьютер с веб-обозревателе рабочей и подключение к Интернету или интрасети.
* Веб-приложений являются простой и недорогой для обновления. Эксплуатационные расходы для программного обеспечения, всегда были значительные. Поскольку обновление существующих часть программного обеспечения является аналогична установке нового, преимущества веб-приложений, упомянутых выше применяются здесь также. Как только приложения на машине сервера обновляется, каждый получает новую версию.
* Веб-приложений имеют гибкие требования для конечных пользователей. Просто иметь ваш веб-приложения инсталлирована современной операционной системы server�any будет do�and, вы сможете использовать его через Интернет/интрасети на любой MAC, Windows или Linux машине и т. д. Если приложение надлежащим образом строится, оно будет выполняться одинаково хорошо на любой современной браузер например Internet Explorer, Mozilla Firefox, Opera или Safari.
* Веб-приложений облегчают имеют в хранилище центрального данных. При наличии нескольких местах, которым необходим доступ к одни и те же данные, имеющие все, что данные хранятся в одном месте гораздо удобнее чем имея отдельные базы данных в каждом месте. Таким образом, можно избежать потенциальных операций синхронизации данных и меньше рисков для безопасности.

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

Создание сайтов С 1990

Хотя история Интернет-это немного больше, 1991 года является год, когда был изобретен протокола передачи HyperText (HTTP), который по-прежнему используется для передачи данных через Интернет. В его первые несколько первоначального версиях она не делать значительно больше, чем открытие и закрытие подключений. Более поздних версиях HTTP (Версия 1.0 появился в 1996 и версии 1.1 в 1999 году) стал протокол, что теперь мы все знаем и использования.
HTML и HTTP

HTTP поддерживается всеми веб-обозревателями, и он очень хорошо выполняет работу, она была задумана for�retrieving простой веб-содержимого. Когда вы запрашиваете веб-страницы с помощью вашей любимой обозревателя, предполагается протокол HTTP. Таким образом например, при вводе www.mozilla.org в расположение панели Firefox, она будет Предположим по умолчанию что вы означает http://www.mozilla.org .

Тип стандартных документа в Интернете является формате HTML (HyperText Markup Language), и она построена из разметки веб-обозреватели понять, синтаксического анализа и отображения. HTML является на языке, который описывает форматирование документов и содержимого, которое в основном состоит из статического текста и изображений. HTML не предназначен для построения сложных веб-приложений с интерактивного содержимого или удобной для пользователей интерфейсами. При вам необходимо получить другой HTML-страницы через протокол HTTP, необходимо инициировать перезагрузить полной страницы, а HTML-страницу, Вы просили должен существовать в упомянутых месте, качестве статического документа, до представления просьбы. Ведь очевидным, что эти ограничения не действительно поощрять создание ничего интересного.

Тем не менее HTML и HTTP все еще пару очень успешным, что веб-серверов и веб-клиентов (браузерах) понять. Они являются основой в Интернете, как мы знаем его сегодня. Рисунок 1.1 показывает простую транзакцию когда пользователь запрашивает веб-страницы из Интернета использование протокол HTTP:

Рисунок 1.1 A простого запроса HTTP

Три очка для Вас следует иметь в виду:

1. HTTP транзакций всегда произойти между веб-клиент (программное обеспечение решений на просьбу, такие как веб-браузер) и веб-сервера (программное обеспечение, отвечая на просьбу, таких, как Apache или IIS). Отныне в этой книги когда заявив "клиент" мы ссылаемся на веб-клиент, и когда заявив « сервер » мы ссылаемся на веб-сервера.
2. Пользователь является лицо, с помощью клиента.
3. Даже если HTTP (и ее безопасной версии HTTPS) можно утверждать, что это наиболее важные протокол, используемый в Интернете, она не является единственным. Различные виды веб-серверах, использовать различные протоколы для выполнения различных задач, обычно не связанными с простой веб-браузер. В протоколе, мы будем использовать наиболее часто в этой книге является HTTP; и когда мы говорим « веб-запроса », мы предполагаем запрос с помощью протокола HTTP, если другой протокол упоминается явным образом.

SURE вещь, сочетание HTTP-HTML является весьма ограниченной в какой он может do�it только позволяет пользователям получить статического содержимого (HTML-страниц) из Интернета. В дополнение отсутствие возможности, были разработаны несколько технологий.

Хотя все веб-запросы, мы будем говорить о отныне по-прежнему использовать протокол HTTP для передачи данных, самих данных может быть построен динамически на веб-сервере (скажем, используя информацию из базы данных), и эти данные могут содержать больше, чем обычный HTML, позволяя клиенту выполнять некоторые функции, а не просто Отображение статических страниц.

Технологий, которые позволяют в Интернете действовать умнее сгруппированы в следующие две основные категории:

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

PHP и других серверных технологий

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

Только Представьте насколько обработки данных, Амазонии должны делать для расчета персонализированные продукта рекомендации для каждого посетителя или Google когда она ищет своей огромной базы данных выполнять Ваш запрос. Да, обработка на стороне сервера является двигателя, вызвавшего веб-революции и причина, для которых Интернет является таким полезным сегодня.

Важно помнить, что независимо от того, происходит на стороне сервера ответе, полученном клиентом должен быть язык, что Клиент понимает (явно) �such как HTML, которая имеет много ограничений, как упоминалось ранее.

PHP является одной из технологий, используемых для реализации серверной логики. Глава 3 будет служить введение в PHP, и мы будем использовать PHP в этой книге при построении AJAX тематических исследований. Полезно знать, впрочем, что PHP имеет многих конкурентов, например ASP.NET (Active Server Pages, веб-разработка технологии корпорации Майкрософт), Java Server Pages (JSP), Perl, ColdFusion, Ruby on Rails и другие. Каждый из этих имеет свой собственный путь позволяет программистам построить серверных функциональных возможностей.

PHP является не только о серверной технологии но это язык сценариев, а которые программисты могут использовать для создания PHP скриптов. Рисунок 1.2 показывает запрос для PHP страница с именем index.php . На этот раз вместо отправления назад содержание index.php , сервер выполняет index.php и отправляет обратно результаты. Эти результаты должен быть в формате HTML или другом языке, что Клиент понимает.

Рисунок 1.2: клиент запрашивает страницу PHP

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

Вместе с тем даже с PHP, могут создавать изготовленного ориентированной базы ответов, в обозревателе по-прежнему отображается статических, скучно и не очень смарт-веб-документа.

Потребность в умнее и более мощных функциональности на веб-клиент создается отдельный набор технологий, называется клиентской технологии. Сегодняшние обозреватели уметь синтаксического анализа более чем простой HTML. Давайте посмотрим как.
JavaScript и другие технологии клиентского

Различных технологий клиентскую отличаются многими путями, начиная с тем, как они получить загружена и казнены веб-клиент. JavaScript — это сценариев язык, чьи код записывается в виде обычного текста и может быть внедрен в HTML-страниц для расширения возможностей их. Когда клиент запрашивает HTML-страницы, что HTML-страницы могут содержать JavaScript. JavaScript поддерживается все современные браузеры требуя пользователям устанавливать новые компоненты в системе.

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

С JavaScript разработчики наконец удалось построить веб-страниц с снега, падение над ними, с клиентской форма проверки так что пользователь не будет вызывать целая страница перезагрузить (кстати потерять все данные, типизированный) если он или она забыли поставлять все детали (например, пароль, или номер кредитной карты), или если адрес электронной почты имели неправильный формат. Однако несмотря на свой потенциал JavaScript никогда не использовался последовательно внести в Интернете, опыт подлинно пользователя дружественных, похож на пользователей настольных приложений.

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

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

Комбинирование HTML с серверной технологии и о клиентской технологии, один итоге можно построения очень мощный веб-решений.
Какие были отсутствующих?

Таким образом существуют варианты, почему любое лицо, хотели бы ничего нового? Что такое отсутствует?

Как указывалось в начале этой главы, технология существует служить существующие потребности рынка. И часть рынка хочет доставить более мощных функциональность веб-клиентов без использования Flash, Java, или других технологий, которые считаются слишком заметным либо тяжелых вес для определенных целей. Для этих сценариев разработчики обычно создали вебсайты и веб-приложений, использующих HTML, JavaScript и PHP (или другой серверной технологии). Типичный запрос с этого сценария отображается рисунок 1.3, которая показывает HTTP-запроса и ответа, состоящие из HTML и JavaScript, построить программно с помощью PHP.

Рисунок 1.3: HTTP, HTML, PHP и JavaScript в действии

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

AJAX является аббревиатура для асинхронного JavaScript и XML . Если вы думаете, он не сказать многое, мы согласны. Попросту говоря, AJAX могут быть прочитаны уполномоченными JavaScript, поскольку она по существу предлагает методика клиентский сценарий JavaScript внести справочный сервер вызовов и получить дополнительные данные при необходимости, обновления некоторых частей на странице без причинения полной страницы reloads. Рисунок 1.4 обеспечивает визуальное представление, что происходит, когда типичные-AJAX веб-страницы запрашивается посетителем:

Рисунок 1.4: обычная AJAX призыв

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

Чтобы объяснить с простого примера, рассмотреть веб-форм, где пользователю предлагается записать некоторые данные (такие как имя, адрес электронной почты, пароль, кредитных карт, и т.д.), что должны быть проверены до достижения бизнес уровня приложения. Без AJAX существуют две формы проверки методов. Первый был позволяют пользователю введите все необходимые данные, пусть его или ее представить на странице и выполнения проверки подлинности на сервере. В этом сценарии пользователя опытом мертвых времени в ожидании на новую страницу для загрузки. Альтернативный вариант был делать эта проверка на стороне клиента, но это не было всегда возможных (или возможные) поскольку она подразумевает, загрузка слишком много данных на стороне клиента (просто думаю если необходимо проверить, что введенное города и введенных страной совпадают).

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

Примеры, где AJAX можно добиться перемен являются бесконечным. Для получения лучшего чувство и понимание того, что AJAX можно сделать для вас, взгляните на эти жить и популярных примеры:

* Google предложить помогает с поиска Google. Функциональные возможности, является довольно впечатляющих; его извлечь в Google . Аналогичная функциональность предлагается Yahoo! быстрого поиска . (Вы узнаете как построить аналогичные функции в главе 6).
* GMail . GMail является очень популярной в настоящее время и не обязательно любое введение. Других веб-почты услуг таких, как Yahoo! почты и службы Hotmail следовали тенденции и предложение на основе AJAX функциональность.
* карты Google , Yahoo карты , а Windows Live местных .
* Других услуг, таких, как Writely и Basecamp .

Вы увидите даже больше примеров на протяжении этой книги.

Точно так же, как с любой другой технологии, AJAX может быть перегрузке , или используется неверный путь. Только имея AJAX на вашем сайте не гарантирует ваш сайт будет лучше. Это зависит от Вас сделать хорошее использования этой технологии.

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

Технологий, AJAX состоит из уже осуществляются во всех современных веб-обозревателях, таких, как Mozilla Firefox, Internet Explorer или опера, поэтому клиенту не нужно устанавливать любые дополнительные модули для запуска сайт AJAX. AJAX состоит из следующих:

* JavaScript — основных ингредиента AJAX, позволяя создавать функциональные возможности, клиентскую. В вашем JavaScript функций, вы сможете сделать тяжелых использование модели объектов документов ( DOM ) для манипулировать части страницы HTML.
* Объекта XMLHttpRequest позволяет JavaScript для доступа к серверу асинхронно, с тем чтобы пользователь может продолжать работать, хотя функциональность выполняется в фоновом режиме. Просто доступа к серверу означает решений простые HTTP-запроса для файла или сценария, расположенный на сервере. HTTP-запросы являются легко сделать и не вызывать никаких проблем связанных с брандмауэром.
* Технология, серверный требуется для обработки запросов, поступающих от клиентов JavaScript. В этой книге мы будем использовать PHP выполнить серверную часть задания.

Для соединения клиент сервер части нужен способ передавать данные и понять, что данные. Передача данных представляет собой простой часть. Клиентский сценарий, доступ на сервер (с помощью объекта XMLHttpRequest) может отправлять пар имя значение, используя GET или POST. Ведь очень простой для чтения этих значений с любого сервера сценариев.

Серверные сценарии просто отправляет обратно ответ через HTTP, но в отличие от обычных веб-сайт, ответ будет в формате, который может быть просто анализируется кода JavaScript на клиентском компьютере. Предлагаемый формат является XML который имеет то преимущество широко поддерживаемой, и имеются многие библиотеки, которые позволяют легко манипулировать XML-документов. Но можно выбрать другой формат, если вы хотите (можно даже отправить обычный текст), популярные альтернативы XML, будучи нотацией объекта JavaScript ( JSON ).

Эта книга предполагает, что вы уже знаете вкус AJAX ингредиенты, за исключением возможно объекта XMLHttpRequest, который является менее популярным. Вместе с тем чтобы убедиться, что мы все на одной странице, мы будем посмотрите вместе как работают эти куски, и как они работают вместе, в главы 2 и главы 3. До тех пор для оставшейся части этой главы мы будем сосредоточить внимание на общую картину, а также напишем программу AJAX для радости самых нетерпеливых читателей.

Ни один из компонентов, AJAX является новой, или революционным (или по крайней мере эволюционного) как текущий buzz вокруг AJAX предположить: все компоненты AJAX существовали с момента когда-нибудь в 1998 году. Имя AJAX родился в 2005 году Джесси Джеймс Garret статьи и накопленный гораздо популярность при использовании компанией Google во многих из его приложений.

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

AJAX приносит следующие потенциальные преимущества при создании нового веб-приложения:

* Она делает возможным создать более и более чутко веб-сайты и веб-приложений.
* Из-за своей популярности оно поощряет развитие моделей, которые помогают разработчикам, избежать перестройке колеса при выполнении распространенных задач.
* Она делает использование существующих технологий.
* Она делает использование существующих разработчика навыков.
* Возможности AJAX прекрасно интегрировать с существующие функциональные возможности, предоставляемые веб-обозревателей (скажем, re-dimensioning на страницы, страницы навигации и т.д.).

Общие сценарии, где AJAX могут успешно использоваться являются:

* Включение немедленного серверной формы проверки, весьма полезным в обстоятельствах, когда он неосуществимые передать клиенту все данные, необходимые для проверки при первоначально загрузке страницы. Глава 4 содержит тематическое исследование проверки формы.
* Создание простого online чате решений, которые не требуют внешних библиотек таких как Java Runtime компьютера или Flash. Вы сможете построить такой программы в главе 5.
* Здание Google предложить-подобные функциональные возможности, как пример, вы сможете построить в главе 6.
* Более эффективное использование полномочий других существующих технологий. В главе 7 Вы сможете реализовать реального времени построения диаграмм решение, с помощью масштабируемых векторной графики (SVG), и в главы 10, вы будете используйте библиотеку внешних AJAX для создания списка простых drag‑and‑drop.
* Кодирование чутко данных сетки, которые обновляют серверной базы данных на лету. Вы создадите такое ходатайство в главе 8.
* Создание приложений, которые нуждаются в реальном времени обновления из различных внешних источников. В главе 9 вы создадите простой агрегации RSS.

Потенциальные проблемы с AJAX являются:

* Поскольку адрес страницы не меняется работая, вы не может легко закладки AJAX страниц. В случае приложений AJAX, закладки имеет разное значение в зависимости от конкретного приложения, обычно означает, что вам нужно сохранить состояние так или иначе (думаю о как это происходит с рабочего стола applications�there нет книги маркировка существует).
* Поисковые системы не смогут индекса всех частей узла приложения AJAX.
* Кнопки « Назад » в обозревателях, не производят тот же результат, как классический веб-приложения, поскольку все действия происходят внутри одной и той же странице.
* JavaScript могут быть отключены на стороне клиента, которая делает приложение AJAX нефункциональные, поэтому полезно иметь другого плана веб-узла, возможности избежать потери посетителей.

Наконец до перехода к записи ваша первая программа AJAX, здесь являются ряд ссылок, которые могут помочь Вам в Ваше путешествие в изумительный мир AJAX:

* блог AJAX является AJAX, посвященная блога.
* Ffiftyfoureleven представляет собой всеобъемлющую статью коллекцию об AJAX.
* the AJAX веб-сайте бен Гэлбрейт и Дион Almaer, авторов прагматический AJAX.
* информационный сайт о AJAX , содержащий нагрузок весьма полезные ссылки.
* Ajaxpatterns составляет около многократно используемых шаблонов проектирования AJAX.
* Ajaxinfo является ресурсом AJAX статей и ссылок.
* популярных относящихся к AJAX веб-блогов .
* Прекрасные статьи Камерон Адамс AJAX:, которые могут использоваться взаимодействие с удаленного сценария .
* Mozilla на странице AJAX .
* год странице AJAX .

Список является отнюдь не полный. Если вам нужна более онлайновые ресурсы, Google несомненно будут доступны для оказания помощи. В последующих главах вы сможете быть представлены с еще более ссылками, но более конкретных на конкретной технологии вы сможете .
Создание простого приложения с AJAX и PHP

Давайте затем написать код! На следующих страницах вы сможете построить простого приложения AJAX.

Это мероприятие является для самых нетерпеливых читателей, готовы начать кодирование КМР, но предполагается, что вы уже знакомы с JavaScript, PHP и XML. Если это не дело, или если в любой момент вы чувствуете, это мероприятие является слишком сложной, вы можете перейти к главе 2. В главе 2 и главы 3 будете имеем намного ближе познакомиться с технологий, AJAX и методов и всё станет ясно.

Вы создадите здесь простой веб-приложения AJAX, называется quickstart где пользователю предлагается записать его или ее имя, и на сервере хранит отправки обратно ответы хотя написание пользователя. Рисунок 1.5 показывает, на начальной странице, index.html , загружена с помощью пользователя. (Обратите внимание, что index.html загружается по умолчанию при запросе папке веб-quickstart, даже если имя файла прямо не упоминается).

Рисунок 1.5: на фронт странице приложения это

Хотя ввод пользователя на сервер вызывается асинхронно, через регулярные интервалы, чтобы увидеть, если он признает имя текущего. На сервере вызывается автоматически, приблизительно одна времени за секунду, который объясняет, почему нам не нужно кнопке (таких, как кнопка 'send') уведомлять, когда мы вы сделали ввода. (Этот метод может оказаться подходящим для реального вход в систему механизмов, но очень полезно продемонстрировать некоторые функциональные возможности AJAX).

Зависимости введенное имя сообщение от сервера могут различаться; см. пример в рисунке 1.6.

Рисунок 1.6: пользователь получает запрос ответа из веб-приложения

Извлечь Этот пример онлайн .

Возможно на первый взгляд существует и ничего чрезвычайный происходит там. Мы хранится этот первый пример простого на назначения, чтобы вещи легче понять. Какова особенного это приложение является что отображается сообщение автоматически поступает из на сервер, не прерывая действия пользователя. (Сообщения отображаются как пользователь вводит имя). на странице не получить перезагружен для отображения новых данных, хотя необходимо вызова сервера, чтобы получить что данных. Это не простая задача для выполнения с использованием не AJAX веб-разработки методов.

Приложение состоит из следующих трех файлов:

1. index.html имеет первоначального HTML файл запросов пользователей.
2. QuickStart.js является файлом, содержащим код JavaScript, который загружается на клиентском компьютере наряду с index.html . Этот файл будет обрабатывать внесения асинхронных запросов на сервер, при необходимости функциональности серверных.
3. QuickStart.PHP является PHP-скрипт, проживающих на сервере, который получает вызывается кодом JavaScript в quickstart.js файле от клиента.

Рисунок 1.7 показаны действия, которые случиться при запуске данного приложения:



<A href="http://my-cs.ru/go-vote/6362/" target="_blank"><IMG src="http://my-cs.ru/images/userbars/6362-8.gif"></A>
 
ADMINДата: Воскресенье, 16.08.2009, 14:50 | Сообщение # 2
Призрак
Группа: Администраторы
Сообщений: 13
[ 0 ]
Статус: Offline
Рисунок 1.7: на диаграмме, разъяснение внутренней работы приложения это

Шаги 1-5 являются типичными HTTP-запроса. После внесения на просьбу, пользователь должен подождать, пока загружается страница. Типичные (не AJAX) веб-приложения такие страницы перезагрузка происходит каждый раз, клиент должен получить новые данные с сервера.

Шаги с 5 по 9 продемонстрировать AJAX-тип call�more конкретно, просит последовательность асинхронной HTTP. Сервер доступен в фоновом режиме, с помощью объекта XMLHttpRequest. В течение этого периода пользователя, могут продолжать использовать страницу, как правило, как если бы он был обычных настольных приложений. Не неправильное страница обновления или перезагрузки не является столкнулись с тем чтобы получить данные с сервера и обновление веб-страницы с данных.

Теперь пришло время осуществлять этот код на компьютере. Перед перемещение, убедиться в вы подготовили вашей рабочей среде как показано в добавлении А, где вы работаете руководствоваться через как установить и настроить PHP и Apache и настроить базу данных, используемых для примеры, приведенные в этой книге. (Не требуется базы данных для данного быстрого начало примера.)

Все упражнения из этой книги предположить, что вы установили ваш компьютер, как показано в приложении а. Если настройка вашей среде по-разному может потребоваться осуществлять различные изменения, такие как имена другую папку, и так далее.
Время для Action�Quick начало AJAX

1. В добавлении А вы будете поручено созданы веб-сервера и создать доступных в веб-папку с названием систем для размещения всех ваш код для этой книги. В папке систем создайте новую папку называется быстрого начало.
2. В папке quickstart создайте файл с именем index.html и добавьте следующий код к ней:

Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
      <title>AJAX with PHP: Quickstart</title>  
      <script type="text/javascript" src="quickstart.js"></script>  
    </head>  
    <body onload='process()'>  
      Server wants to know your name:   
      <input type="text" id="myName" />  
      <div id="divMessage" />  
    </body>  
</html>

# Создайте новый файл с именем quickstart.js и добавьте следующий код:

Code
// stores the reference to the XMLHttpRequest object  

var xmlHttp = createXmlHttpRequestObject();   

// retrieves the XMLHttpRequest object  

function createXmlHttpRequestObject()   
{    
    // will store the reference to the XMLHttpRequest object  

    var xmlHttp;  
    // if running Internet Explorer  

    if(window.ActiveXObject)  
    {  
      try  
      {  
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
      }  
      catch (e)   
      {  
        xmlHttp = false;  
      }  
    }  
    // if running Mozilla or other browsers  

    else  
    {  
      try   
      {  
        xmlHttp = new XMLHttpRequest();  
      }  
      catch (e)   
      {  
        xmlHttp = false;  
      }  
    }  
    // return the created object or display an error message  

    if (!xmlHttp)  

      alert("Error creating the XMLHttpRequest object.");  
    else   
      return xmlHttp;  
}  

// make asynchronous HTTP request using the XMLHttpRequest object   

function process()  
{  
    // proceed only if the xmlHttp object isn't busy  

    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)  
    {  
      // retrieve the name typed by the user on the form  

      name = encodeURIComponent(document.getElementById("myName").value);  
      // execute the quickstart.php page from the server  

      xmlHttp.open("GET", "quickstart.php?name=" + name, true);    
      // define the method to handle server responses  

      xmlHttp.onreadystatechange = handleServerResponse;  
      // make the server request  

      xmlHttp.send(null);  
    }  
    else  
      // if the connection is busy, try again after one second    

      setTimeout('process()', 1000);  
}  

// executed automatically when a message is received from the server  

function handleServerResponse()   
{  
    // move forward only if the transaction has completed  

    if (xmlHttp.readyState == 4)   
    {  
      // status of 200 indicates the transaction completed successfully  

      if (xmlHttp.status == 200)   
      {  
        // extract the XML retrieved from the server  

        xmlResponse = xmlHttp.responseXML;  
        // obtain the document element (the root element) of the XML structure  

        xmlDocumentElement = xmlResponse.documentElement;  
        // get the text message, which is in the first child of  

        // the the document element  

        helloMessage = xmlDocumentElement.firstChild.data;  
        // update the client display using the data received from the server  

        document.getElementById("divMessage").innerHTML =   
                     '' + helloMessage + '';  
        // restart sequence  

        setTimeout('process()', 1000);  
      }   
      // a HTTP status different than 200 signals an error  

      else   
      {  
        alert("There was a problem accessing the server: " + xmlHttp.statusText);  
      }  
    }  
}

# Создать файл, называемый quickstart.php и добавьте следующий код к ней:

Code
<?php  
// we'll generate XML output  

header('Content-Type: text/xml');  
// generate XML header  

echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';  
// create the <response> element  

echo '<response>';  
     
// retrieve the user name  

$name = $_GET['name'];  
// generate output depending on the user name received from client  

$userNames = array('CRISTIAN', 'BOGDAN', 'FILIP', 'MIHAI', 'YODA');  
if (in_array(strtoupper($name), $userNames))  
    echo 'Hello, master ' . htmlentities($name) . '!';  
else if (trim($name) == '')  
    echo 'Stranger, please tell me your name!';  
else  
    echo htmlentities($name) . ', I don\'t know you!';  
// close the <response> element  
echo '</response>';  
?>

5. Теперь вы должны иметь возможность получить доступ к вашей новой программы, Загрузка http://localhost/ajax/quickstart с помощью вашей любимой обозревателя. Загрузить на странице, а вы должны получить страницу как показано на рис 1.5 и 1.6.

Должна возникнуть любые проблемы, запуск приложения, проверьте вы правильно после установки и настройки процедур как описано в приложении а. Большинство ошибок произойти из-за небольших проблем таких, как опечатки. В главе 2 и Chapter3 вы узнаете, как осуществлять обработку в коде JavaScript и PHP ошибок.
Какие только произошло?

Здесь поставляется новые возможности part�understanding, что происходит в этом коде. (Помните, что мы расскажу гораздо более технические детали течение следующих двух глав.)

Давайте начнем с файлом, пользователь сначала взаимодействует с index.html . Этот файл ссылки загадочных JavaScript файл, называемый quickstart.js и строит очень простой веб-интерфейс для клиента. В следующем фрагменте кода из index.html Обратите внимание элементы, жирным шрифтом:

Code
<body onload='process()'>  
      Server wants to know your name:  
      <input type="text" id="myName" />  
      <div id="divMessage" />  
</body>

При загрузке страницы, получает казнены функцию из quickstart.js под названием process(). Это так или иначе вызывает <div>элемент для заполняться с сообщением от сервера.

Перед видя, что происходит внутри функции process(), давайте посмотрим, что происходит на стороне сервера. На веб-сервере имеется сценарий с именем quickstart.php , создает сообщение об XML, чтобы быть отправлен клиенту. Сообщение XML состоит из <response>элемент, который пакеты сообщения на сервере требуется отправить обратно клиенту:

Code
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<response>  
    ... message the server wants to transmit to the client ...  
</response>

Если пустое имя пользователя, полученные от клиента, сообщение будет, « чужестранец, пожалуйста сказать мне имя! ». Если имя является Кристиан, Богдан, Филип, Михай или йода, сервер отвечает с "Hello, хозяин < имя пользователя >!". Если имя является ничего другого, сообщение будет « < имя пользователя >, Я не знаю вы! ». Таким образом если Микки мыши типы его имя, сервер будет отправлять обратно следующую структуру XML:

Code
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<response>  
    Mickey Mouse, I don't know you!  
</response>

Сценарий, quickstart.php запускает путем создания заголовок документа XML и открытия <response> элемент:

Code
<?php  
// we'll generate XML output  

header('Content-Type: text/xml');  
// generate XML header  

echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';  
// create the <response> element  

echo '<response>';

Знаки строки выделенные заголовок вывод как XML-документа и это важно, поскольку клиент ожидает получить XML (API, использующихся для разбора XML на клиенте вызовет ошибку если заголовок не значение Content-Type text/xml ). После задания в заголовке, код строит в ответ XML путем объединения строк. Фактический текст, будут возвращены клиенту инкапсулируется в <response>элемент, который является корневым элементом и генерируется на основе имени, получено от клиента через параметром GET:

Code
// retrieve the user name  
$name = $_GET['name'];  
// generate output depending on the user name received from client  
$userNames = array('CRISTIAN', 'BOGDAN', 'FILIP', 'MIHAI', 'YODA');  
if (in_array(strtoupper($name), $userNames))  
    echo 'Hello, master ' . htmlentities($name) . '!';  
else if (trim($name) == '')  
    echo 'Stranger, please tell me your name!';  
else  
    echo htmlentities($name) . ', I don\'t know you!';  
// close the  element  
echo '';  
?>

Текст, введенный пользователем (который должен быть имя пользователя) отправляется клиентом на сервер с помощью параметра GET. При отправке этот текст обратно клиенту, мы использовать функцию PHP htmlentities для замените их HTML кодов специальные символы (такие как &, или >), убедившись, что сообщение будет безопасно отображаться в веб-обозревателе устранения потенциальных проблем и рисков для безопасности.

Форматирование текста на сервере для клиента (вместо этого непосредственно на клиенте) является фактически плохой практикой, при написании кода производства. В идеальном случае ответственность на сервер для отправки данных в формате универсального, а лежит получателя решать проблемы безопасности и проблемы форматирования. Это делает даже больший смысл, если вы считаете что один день, может потребоваться вставить точно так же текст в базу данных, но база данных потребуется различные форматирования последовательности (в этом дело, а базы данных обработка сценария сделает все задания, форматирование, а не сервер). Для быстрого начало сценария форматирование HTML, в PHP позволило нам держать код короче и проще для понимания и объяснить.

Если вы являетесь любопытный для испытания quickstart.php и увидеть, какие она формирует, загрузите http://localhost/ajax/quickstart/quickstart.php?name=Yoda в вашем веб-обозревателе. Преимущество передача параметров из клиента через GET состоит в том, что стоит очень простой для имитации такой запрос с помощью веб-обозревателя, поскольку GET просто означает, Добавление параметров, как пары имя значение в строке запроса URL. Вы должны получить нечто вроде этого:

Рисунок 1.8: XML-данных создано путем quickstart.php

Сообщение XML доступен для чтения на клиентском компьютере функцией handleServerResponse() в quickstart.js . Говоря более конкретно следующие строки кода извлечь сообщение, « Hello, master йода! »:

Code
// extract the XML retrieved from the server  

xmlResponse = xmlHttp.responseXML;  
// obtain the document element  

// (the root element) of the XML structure  

xmlDocumentElement = xmlResponse.documentElement;  
// get the text message, which is in the first child of  

// the document element  

helloMessage = xmlDocumentElement.firstChild.data;


<A href="http://my-cs.ru/go-vote/6362/" target="_blank"><IMG src="http://my-cs.ru/images/userbars/6362-8.gif"></A>
 
ADMINДата: Воскресенье, 16.08.2009, 14:55 | Сообщение # 3
Призрак
Группа: Администраторы
Сообщений: 13
[ 0 ]
Статус: Offline
Здесь xmlHttp является объект XMLHttpRequest, используется для вызова сервера сценария quickstart.php из клиента. Его responseXML свойство извлекает извлеченные XML-документа. XML-структуры являются иерархический характер, и корневой элемент XML-документа называется элемент документа . В нашем случае, в документе элементом является <response>элемент, который содержит один ребенок, который является текст сообщения, мы заинтересованы. После извлекается текст сообщения, он отображен странице клиента используя DOM для доступа к divMessage элементу index.html :

Code
// update the client display using the data received from the server  

document.getElementById('divMessage').innerHTML = helloMessage;

документ является объект по умолчанию в JavaScript, который позволяет манипулировать элементов в HTML-код страницы.

Остальная часть кода в quickstart.js занимается внесения запрос серверу для получения сообщений XML. Функция createXmlHttpRequestObject() создает и возвращает экземпляр объекта XMLHttpRequest. Данная функция является дольше, чем она бы поскольку нам нужно сделать кросс браузер compatible�we расскажу подробности в главе 2, для теперь очень важно знать, что она делает. XMLHttpRequest экземпляр, называется xmlHttp, используется в process(), чтобы сделать запрос асинхронного сервера:

Code
// make asynchronous HTTP request using the XMLHttpRequest object   

function process()  
{  
    // proceed only if the xmlHttp object isn't busy  

    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)  
    {  
      // retrieve the name typed by the user on the form  

      name = encodeURIComponent(document.getElementById("myName").value);  
      // execute the quickstart.php page from the server  

      xmlHttp.open("GET", "quickstart.php?name=" + name, true);    
      // define the method to handle server responses  

      xmlHttp.onreadystatechange = handleServerResponse;  
      // make the server request  

      xmlHttp.send(null);  
    }  
    else  
      // if the connection is busy, try again after one second    

      setTimeout('process()', 1000);

Вы видите здесь это, фактически, сердце кодекса AJAX�the, что делает асинхронного вызова к серверу.

Почему важно поэтому призвать на сервер асинхронно? Асинхронных запросов, по своему характеру не замораживать обработки (и пользователей) хотя вызов является добиться, пока не получен ответ. Асинхронная обработка осуществляется событийно управляемыми архитектуры, хороший пример, будучи способ графического пользовательского интерфейса кода строится: без событий, Саад вероятно нужно проверить постоянно если пользователь нажатии кнопки или изменение размера окна. С помощью события, кнопки уведомляет приложения автоматически когда она была нажата, и вы можете принять необходимые меры в функцию обработчика событий. С AJAX, эта теория применяется, когда решений request�you сервера автоматически уведомление, когда в ответ поступает обратно.

Если вы являетесь любопытный увидеть, как приложение будет работать, используя синхронный запрос, необходимо изменить третий параметр xmlHttp.open значение false, а затем вызвать handleServerResponse вручную, как показано ниже. Если вы сделаете это, поле ввода, где вы работаете предполагается Напишите Ваше имя будет закрепить когда на сервере направляется (в данном случае замораживания продолжительность зависит во многом скорость подключения, поэтому он может не быть весьма заметным если вы работаете на сервер на локальном компьютере).

Code
// function calls the server using the XMLHttpRequest object   

function process()  
{  
    // retrieve the name typed by the user on the form  

    name = encodeURIComponent(document.getElementById("myName").value);  
    // execute the quickstart.php page from the server  

    xmlHttp.open("GET", "quickstart.php?name=" + name, false);    
    // make synchronous server request (freezes processing until completed)  

    xmlHttp.send(null);    
    // read the response  

    handleServerResponse();  
}

Функция process() предполагается начать новый запрос сервера, с помощью объекта XMLHttpRequest. Однако это только возможно, если объект XMLHttpRequest не занят, делая другой запрос. В нашем случае это может произойти, если он принимает более чем одну секунду для сервера ответ, который может произойти в случае очень медленного подключения к Интернету. Таким образом process() начинается, проверяя, что это ясно приступить к новый запрос:

Code
// make asynchronous HTTP request using the XMLHttpRequest object   

function process()  
{  
    // proceed only if the xmlHttp object isn't busy  

    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)  
    {

Таким образом, если соединение занят, мы используем setTimeout, чтобы повторить после одной второй (второй аргумент функции указывает количество миллисекунд ожидания перед выполнением кусок кода, задаваемый первого аргумента:

Code
// if the connection is busy, try again after one second    

setTimeout('process()', 1000);

Если данная строка является четкой, можно безопасно сделать новый запрос. Кода, который подготавливает запрос сервера, но не совершают она регулируется:

Code
// execute the quickstart.php page from the server   

xmlHttp.open("GET", 'quickstart.php?name=' + name, true);

Первый параметр указывает метод, используемый для отправки имени пользователя на сервер, а вы можете выбирать между GET и POST (дополнительные сведения о них в главе 3). Второй параметр — это страница сервера, требуется доступ; когда первый параметр является GET, можно отправить параметров, как пары имя значение в строке запроса. Третий параметр является true, если вы хотите призыв к производиться асинхронно. При принятии асинхронные вызовы, можно не ждать ответа. Вместо этого можно определить другую функцию для вызываться автоматически при изменении состояния запроса:

Code
// define the method to handle server responses  

xmlHttp.onreadystatechange = handleServerResponse;

После установки этого параметра вы можете отдыха calm�the handleServerResponse функция будет выполняться в системе при ничего происходит на вашу просьбу. После того как все будет задано, можно начать просьбу путем вызова метода send XMLHttpRequest:

Code
// make the server request  

      xmlHttp.send(null);    
}

Теперь рассмотрим функцию handleServerResponse:

Code
// executed automatically when a message is received from the server  

function handleServerResponse()   
{  
    // move forward only if the transaction has completed  

    if (xmlHttp.readyState == 4)   
    {  
      // status of 200 indicates the transaction completed successfully  

      if (xmlHttp.status == 200)   
      {

handleServerResponse функция вызывается несколько раз, когда изменяется состояние запроса. Только тогда, когда xmlHttp.readyState является 4 будет запрос сервера завершена так можно переместить вперед для чтения результатов. Можно также проверить что HTTP транзакции сообщили статус 200, сигналов, что не проблем произошло во время запроса HTTP. Когда эти условия будут выполнены, Вы свободно читать ответ сервера и отображать сообщения для пользователя.

После того как в ответ является получил и используется, процесс перезапускается используя функцию setTimeout, что вызовет функцию process() для выполнения после одной второй (Заметим однако, что это именно не необходимой или даже AJAX конкретных, иметь повторяющихся задач в коде клиентского):

Code
// restart sequence  

setTimeout('process()', 1000);

И наконец давайте подтвердить, что происходит после пользователь загружает страницу, (можно ссылаться на рисунок 1.7 для визуального представления):

1. Пользователь загружает index.html (это соответствует шаги 1-4 в рисунок 1.7).
2. Пользователь запускает (или продолжает) введя его или ее имя, (это соответствует к шагу 5 рисунок 1.7).
3. Когда выполняется метод process() в quickstart.js , он призывает серверные сценарии, с именем quickstart.php асинхронно. Текст, введенный пользователем передается на вызов в качестве параметра строки запроса (она передается через GET). Функция handeServerResponse предназначен для обработки изменений состояния запроса.
4. QuickStart.PHP выполняется на сервере. Она составляет документ XML, который инкапсулирует сообщение, сервер хочет передать клиента.
5. Метод handleServerResponse на клиентском компьютере выполняется несколько раз, как состояние запроса изменения. Последний раз, он называется является, когда в ответ было успешно получено. Выполняется чтение XML-; сообщение является извлекаются и отображается на странице.
6. Отображение пользователя обновляется с нового сообщения от сервера, но пользователь может продолжать ввод без каких-либо перерывов. После задержки в одну секунду процесс перезапускается из шага 2.


<A href="http://my-cs.ru/go-vote/6362/" target="_blank"><IMG src="http://my-cs.ru/images/userbars/6362-8.gif"></A>
 
  • Страница 1 из 1
  • 1
Поиск:

--> -->
Форма входа
гость
21:47
Группа: Гости

Форма входа
Наш опрос
Оцените мой сайт
Всего ответов: 45
________________________

Архив
Поиск
Друзья сайта

Официальный сайт клана [Devil] CY and PR
Rambler's Top100
Статистика

© Devil™ 2008-2009 Сделать бесплатный сайт с uCoz Сайт оптимизирован под браузеры Opera и Firefox.
Дизайн данного сайта принадлежит администратору сайта.
"