ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π± Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ ΡΠΎΡΡ‚Π°Π²Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соврСмСнной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы имССтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ для запуска Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π±Π°Π·Π΅ Java ΠΈΠ»ΠΈ .NET ΠΌΠΎΠ³ΡƒΡ‚ лишь ΠΌΠ΅Ρ‡Ρ‚Π°Ρ‚ΡŒ ΠΎΠ± ΡΡ‚ΠΎΠΌ. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ для КПК ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ усСчСнный Π½Π°Π±ΠΎΡ€ возмоТностСй ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ajax-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π± Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ

Π“ΠžΠ£ Π’ΠŸΠž «Π¨Π°Π΄Ρ€ΠΈΠ½ΡΠΊΠΈΠΉ государствСнный пСдагогичСский институт»

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° программирования ΠΈ ΡΠ΅Ρ‚Π΅Π²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π± Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax»

студСнта 389 Π³Ρ€ΡƒΠΏΠΏΡ‹

АллахвСрдиСва Π€Π°Ρ€ΠΌΠ°Π½Π°

Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ

ΠšΠΈΡ€ΠΈΠ»Π»ΠΎΠ² А. Π“.

Шадринск 2008

ВСхнология Ajax.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Ajax

БистСмы, созданныС с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ajax

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π± ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ своСго Π²Π΅Π± ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° я Ρ€Π΅ΡˆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Ajax ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ, ΠΈ Π² Π½Π°ΡΡ‚оящСС врСмя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΡƒΡŽ наибольшСС распространСниС Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ сСрвСрных прилоТСниях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΈΡ… извСстных Π²Π΅Π± рСсурсах ΠΊΠ°ΠΊ Google Maps ΠΈ Gmail

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Ajax состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ данная тСхнология позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ событий, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… дСйствиям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Бтановится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСтаскиваниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слоТныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ интСрфСйса, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Web — ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ становится ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ систСмС. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния практичности эта свобода дСйствий Π²Π°ΠΆΠ½Π° Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° большС соотвСтствуСт прСдставлСниям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ позволяСт Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π·Π°ΠΏΡ€ΠΎΡΡ‹ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ.

ВСхнология Ajax

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Ajax

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π½Π΅ с ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΡ‹ΠΌ для классичСского прилоТСния Π½Π° Π±Π°Π·Π΅ Web-страниц Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ прСдставляСт собой лишь Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Он Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ этап Ρ€Π°Π±ΠΎΡ‚Ρ‹ выполняСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. На ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ содСрТатся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± ΡΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ ΡΡƒΡ‚ΠΈ, сводятся ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ сСанса.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Java ΠΈΠ»ΠΈ .NET, срСдства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСанса Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ доступны, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ запросам ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌ ΠΈ MIME-Ρ‚ΠΈΠΏΠ°ΠΌ, посрСдством стандартного API.

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ рСгистрируСтся ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ сСанс, создаСтся нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ сСрвСра. Они ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΡƒ» покупатСля ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ страницу. Она доставляСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° HTML-Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой сочСтаниС стандартных элСмСнтов ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, спСцифичСских для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ страницу, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ исправно ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ с ΡΠΊΡ€Π°Π½Π° старый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ. Π”Ρ€ΡƒΠ³ΠΈΡ… дСйствий ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΈ Π½Π΅ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ: это низкоуровнСвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ прСдусмотрСно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ссылку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ сСанса, ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ прилоТСния Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ ΡΠ΅Π°Π½Ρ Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ рСгистрации, заносится Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π’ Ajax — ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ пСрСносится Π½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

ПослС рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ доставляСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ. На ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ способно Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ возмоТностСй нСдостаСт, ΠΎΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ запросы сСрвСру, Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΈ рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ прСдоставляСтся Π±ΠΎΠ»Π΅Π΅ слоТный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ составляСт ΠΊΠΎΠ΄ JavaScript. Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ остаСтся доступным ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго сСанса; ΠΏΡ€ΠΈ этом, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ свой внСшний Π²ΠΈΠ΄. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½Π° Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈ ΠΈΡ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π»ΠΈ запрос сСрвСру (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ обратится ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ рСсурсу) ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ присутствуСт Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго сСанса, ΠΎΠ½ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΅Π³ΠΎ состоянии. НапримСр, свСдСния ΠΎ ΡΠΎΡΡ‚оянии «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΠΈ» покупатСля ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅, Π° Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Как Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС Ρ€Π°Π±ΠΎΡ‚Ρ‹ классичСскоС Web — ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ прСдоставляСт сочСтаниС стандартных элСмСнтов ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ добавляСт Ρ‚ΠΎΠ²Π°Ρ€ Π² «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΡƒ», ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ½ΠΎ лишь ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ†Π΅Π½Ρƒ Π»ΠΈΠ±ΠΎ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибки, ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒΠΎ Π½Π΅ΠΉ. Код, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° ΡΡ‚ΠΈ дСйствия, составляСт Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π’ Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΠ°» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ высоким «ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ» ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ сСрвСру асинхронныС запросы. Π¨Π°Π±Π»ΠΎΠ½, элСмСнты Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ страницы ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, поэтому сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса.

Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ JavaScript-ΠΊΠΎΠ΄Π°, ΠΏΠΎΡ‚ΠΎΠΊ, содСрТащий ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст ΠΈΠ»ΠΈ нСбольшой XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Достаточно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π»ΡŽΠ±ΠΎΠΌ ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньший объСм, Ρ‡Π΅ΠΌ страница, возвращаСмая классичСским Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’Ρ€Π°Ρ„ΠΈΠΊ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ajax-прилоТСниями, сначала возрастаСт Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ клиСнтской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ доставляСтся слоТноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ взаимодСйствиС с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ становится Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивным.

Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ прилоТСния, созданного Π½Π° Π±Π°Π·Π΅ Web-страниц, суммарный Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ мСньшС, Ρ‡Π΅ΠΌ для Ajax-прилоТСния. Однако ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ситуация мСняСтся ΠΈ Ajax ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ становится Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ экономичнСС своСго ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… классичСского ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

Π’ Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ прСдусмотрСны Π΄Π²Π° основных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…: гипСртСкстовыС ссылки ΠΈ HTML-Ρ„ΠΎΡ€ΠΌΡ‹. ГипСртСкстовыС ссылки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сформированы Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ ΠΈ ΡΠ½Π°Π±ΠΆΠ΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ CGI (Common Gateway Interface — интСрфСйс ΠΎΠ±Ρ‰Π΅Π³ΠΎ шлюза). Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ изобраТСния ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π°ΠΌΠΈ CSS (Cascading Style Sheets — каскадныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй) ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Слями, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ внСшнСго Π²ΠΈΠ΄Π° ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π½ΠΈΡ… курсора ΠΌΡ‹ΡˆΠΈ. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ Web-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π΄ΠΎΠ±ΡŒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ссылки Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

Π€ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: поля рСдактирования, Ρ„Π»Π°ΠΆΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΎΠΏΡ†ΠΈΠΉ, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки ΠΈ ΠΏΡ€. ΠžΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² ΡΠΎΡΡ‚Π°Π²Π΅ Ρ„ΠΎΡ€ΠΌ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ся. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Ρ‹ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π€ΠΎΡ€ΠΌΡ‹, ΠΊΠ°ΠΊ ΠΈ Π³ΠΈΠΏΠ΅Ρ€Ρ‚СкстовыС ссылки, содСрТат URL, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Ρ€Π΅ΡΡƒΡ€ΡΡ‹ сСрвСра. ГипСртСкстовыС ссылки ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ JavaScript. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Web-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ JavaScript-сцСнарии, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ заполнСния Ρ„ΠΎΡ€ΠΌ. Они слСдят Π·Π° Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ полями, значСниями, выходящими Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ошибками. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ происходит лишь Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ„ΠΎΡ€ΠΌΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. JavaScript-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π°Ρ ΠΈΡ… Web-страница.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ страницС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ приходится Π½Π° Π²Ρ€Π΅ΠΌΡ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΅Ρ‰Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя отобраТаСтся Π½Π° ΡΠΊΡ€Π°Π½Π΅; Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ссылок, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΠ΅Π°Π½ΡΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅. ПослС получСния Π½ΠΎΠ²ΠΎΠΉ страницы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π±ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΈΠΌΠ΅Π» Π΄ΠΎ ΡΡ‚ΠΎΠ³ΠΎ. НапримСр, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΡƒ» Ρ‚ΠΎΠ²Π°Ρ€Π°, скаТСм, Π±Ρ€ΡŽΠΊ, вряд Π»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ ΠΎΡ‚ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ «ΠΌΡƒΠΆΡΠΊΠ°Ρ ΠΎΠ΄Π΅ΠΆΠ΄Π°» ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ «ΠΆΠ΅Π½ΡΠΊΠ°Ρ ΠΎΠ΄Π΅ΠΆΠ΄Π°» ΠΈΠ»ΠΈ «Π΄Π΅Ρ‚ская ΠΎΠ΄Π΅ΠΆΠ΄Π°». ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ сСбС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠ°ΠΊ Π²Π΅Π΄Π΅Ρ‚ сСбя «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΠ°» покупатСля, рСализованная Π² ΡΠΎΡΡ‚Π°Π²Π΅ Ajax-прилоТСния. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ajax позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€ Π² «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΡƒ» с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ ΠΌΡ‹ΡˆΡŒΡŽ. Если клиСнтская Ρ‡Π°ΡΡ‚ΡŒ прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, ΠΎΠ½Π° Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° справится с Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ся Π² ΡΠ²ΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ спСцифику взаимодСйствия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π°. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΠΈ» Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚; ΠΎΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСанса Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅. Однако ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈΡ‡Π΅Π³ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ сСанса. «ΠšΠΎΡ€Π·ΠΈΠ½ΠΊΠ°» — это понятиС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ выполняСмыС дСйствия. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ½ΡΡ‚ия «ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΠ°» ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, содСрТащимся Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, создаСт дискомфорт для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ обновлСния страницы ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π°Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ срСдствами Ajax, свободно ΠΎΡ‚ ΡΡ‚ΠΎΠ³ΠΎ нСдостатка. ΠŸΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Π² ΡΠ΅Ρ‚Π΅Π²ΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ приходится лишь врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… областях Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ слоТных ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΏΠΎΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, связанноС с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ появлСния ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ страницы, нСдопустимо.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ прСимущСство Ajax состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ данная тСхнология позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ событий, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… дСйствиям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Бтановится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСтаскиваниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слоТныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ интСрфСйса, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Web — ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ становится ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ систСмС. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния практичности эта свобода дСйствий Π²Π°ΠΆΠ½Π° Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° большС соотвСтствуСт прСдставлСниям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ позволяСт Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π·Π°ΠΏΡ€ΠΎΡΡ‹ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ Π² ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΌ Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Π³ΠΈΠΏΠ΅Ρ€Ρ‚Скстовой ссылкС Π»ΠΈΠ±ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π­Ρ‚ΠΎ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΎΡ‚ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Если ΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ происходит Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ, пСрСтаскиваниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши, сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиш ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΠΎΠ»Π΅. ΠšΠ»ΠΈΠ΅Π½Ρ‚ взаимодСйствуСт с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятныС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ„Ρ€Π°Π·.

Π’ ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΡ… Web-прилоТСниях для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ часто Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ JavaScript-ΠΊΠΎΠ΄Π°. Бтраничная модСль Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ этим Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° дольшС самой страницы, Π° ΡΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ JavaScript ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π» Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ языка, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ лишь для ΠΏΠΎΠ΄Π΅Π»ΠΎΠΊ ΠΈ Π½Π΅Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ внимания ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° для Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ сущСствСнно отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ Ρ‡Π΅ΠΌΡƒ успСли ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ программисты. Код, доставляСмый ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, доступСн Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСанса, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π°ΠΏΡ€Π°ΡΠ½ΠΎΠΌΡƒ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ памяти. Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ стрСмится Π²Ρ‹ΠΉΡ‚ΠΈ Π½Π° Ρ€Ρ‹Π½ΠΎΠΊ нСзависимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΡƒ часов подряд. Для этого Π½ΡƒΠΆΠ΅Π½ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ сопровоТдСниС. ΠŸΡ€ΠΈ Π΅Π³ΠΎ создании Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° дисциплина программирования ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ написании сСрвСрных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ОбъСм ΠΊΠΎΠ΄Π°, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ большим, Ρ‡Π΅ΠΌ Π² ΡΠ»ΡƒΡ‡Π°Π΅ классичСского WebприлоТСния. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ большСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сама структура ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния ΡƒΠΆΠ΅ становится Π½Π΅ ΠΏΠΎΠ΄ силу ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠ΅ — этим Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, ΠΎΠ΄Π½ΠΈΠΌ словом, Ρ€Π°Π±ΠΎΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСм.

Ajax ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΏΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π²ΠΈΠ΄Π½Ρ‹ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

БистСмы, созданныС с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ajax

Наибольший Π²ΠΊΠ»Π°Π΄ Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ соврСмСнного прСдставлСния ΠΎΠ± Ajax — прилоТСниях внСсла компания Google. (Она использовала Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° имя Ajax.) Π‘Π΅Ρ‚Π°-вСрсия слуТбы GMail стала доступна Π² Π½Π°Ρ‡Π°Π»Π΅ 2004 Π³ΠΎΠ΄Π°. Π­Ρ‚Π° слуТба ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ»Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ прСдоставляСмого ΠΈΠΌ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ящика, Π½ΠΎ ΠΈ ΠΈΠ½Ρ‚СрфСйсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволял ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ нСсколько сообщСний ΠΈ Π°Π²Ρ‚оматичСски обновлял список коррСспондСнции, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π» Π² ΡΡ‚ΠΎ врСмя Π½ΠΎΠ²ΠΎΠ΅ сообщСниС. Π­Ρ‚ΠΎ Π±Ρ‹Π» сущСствСнный шаг Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌΠΈ систСмами, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΌΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ². Бравнивая GMail с Web-интСрфСйсами ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвСров, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Microsoft Outlook ΠΈ Lotus Notes, Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ GMail обСспСчиваСт Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ тяТСловСсных ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… элСмСнтов ActiveX ΠΈΠ»ΠΈ Java-Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ². Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ слуТба доступна Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ настроСнными машинами, Π½ΠΎ ΠΈ Π΄Π»Ρ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… систСм.

Π—Π° GMail послСдовали Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ слуТбы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Google Suggest, поисковый сСрвСр ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ автоматичСски ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π·Ρ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π² ΡΠΎΡΡ‚Π°Π²Π΅ запроса, ΠΈ Google Maps — интСрактивная ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ ΠΊΠ°Ρ€Ρ‚Π°, посрСдством ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ опрСдСляСтся располоТСниС рСсурса. Начали экспСримСнты с Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ систСму Flickr, которая Π² Π½Π°ΡΡ‚оящСС врСмя являСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ Yahoo!

УпомянутыС Π²Ρ‹ΡˆΠ΅ систСмы — лишь ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТностСй Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½Ρ‹Π΅ прилоТСния, примСняСмыС лишь эпизодичСски. Π—Π° Π½ΠΈΠΌΠΈ послСдовали нСзависимыС Ajax-прилоТСния.

НаличиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданных Π½Π° Π±Π°Π·Π΅ Ajax, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Если ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ программисты ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ лишь для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½Π΅ΠΉ, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Google ΠΈ Yahoo!, ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽΡ‚ ΠΊ Π½Π΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½Π° сулит Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π² ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΉ Π±ΠΎΡ€ΡŒΠ±Π΅.

МоТно ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ с Ρ€ΠΎΡΡ‚ΠΎΠΌ потрСбности Π² Π²Ρ‹ΡΠΎΠΊΠΎΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ интСрфСйсС традиция использования Ajax ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. Π’ΠΏΠΎΠ»Π½Π΅ вСроятно, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒΡΡ.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax

Ajax — Π½Π΅ ΠΎΠ΄Π½Π° конкрСтная тСхнология, скорСС это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° (Ρ‚Π°Π±Π».1).

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ajax-прилоТСния Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Π½ΠΈΠΌΠΈ Π·Π° ΡΡ‡Π΅Ρ‚ использования JavaScript-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, опрСдСляСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ДСйствия с ΠΈΠ½Ρ‚СрфСйсом ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ DOM (Document Object Model), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅, доступныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ прСдставлСниС ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ся. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ производится ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠ² ΠΌΡ‹ΡˆΡŒΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш. ΠšΠ°ΡΠΊΠ°Π΄Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй, ΠΈΠ»ΠΈ CSS (Cascading Style Sheets), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ согласованный внСшний Π²ΠΈΠ΄ элСмСнтов прилоТСния ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ DOM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ XMLHttpRequest (ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для асинхронного взаимодСйствия с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ€ΠΈ ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ — CSS, DOM ΠΈ JavaScript — ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ DHTML (Dynamic HTML). Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ срСдства DHTML, появившиСся Π² 1997 Π³ΠΎΠ΄Ρƒ, ΠΏΠΎΠ΄Π°Π²Π°Π»ΠΈ большиС Π½Π°Π΄Π΅ΠΆΠ΄Ρ‹, Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π»ΠΈ ΠΈΡ…. DHTML позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π±Π°Π·Π΅ Web-страниц интСрфСйсы с Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ большими ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ возмоТностями, Π½ΠΎ Π»ΡŽΠ±Ρ‹Π΅ измСнСния внСшнСго Π²ΠΈΠ΄Π° страницы Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ лишь ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСго Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Набор дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±Π΅Π· обращСния ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ, вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. БрСдства DHTML интСнсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ajax, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Ρ асинхронным запросам ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Web-страниц.

Π’Π°Π±Π»ΠΈΡ†Π° 2.1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax

JavaScript

Π­Ρ‚ΠΎ язык сцСнариСв ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ JavaScript Π² ΡΠΎΡΡ‚Π°Π²Π΅ Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° обСспСчиваСт взаимодСйствиС со Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΌΠΈ срСдствами Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π”Π°Π½Π½Ρ‹ΠΉ язык ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

CSS (Cascading Style Sheets)

CSS прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ стили

элСмСнтов Web-страницы. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ внСшнСго Π²ΠΈΠ΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² прилоТСния. Π’ Ajax CSS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния прСдставлСния интСрфСйса Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ взаимодСйствия

DOM (Document Object Model)

DOM прСдставляСт структуру Web-страницы Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ срСдствами JavaScript. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ внСшний Π²ΠΈΠ΄ интСрфСйса Ajax-прилоТСния Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ XMLHttpRequest

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ XMLHttpRequest позволяСт программисту

ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с Web-сСрвСра Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, возвращаСмая информация прСдоставляСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML, Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ позволяСт Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ срСдства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ всСх рассматриваСмых здСсь Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Microsoft Internet Explorer, сСмСйство Mozilla/Gecko, Firefox, Mozilla Suite, Netscape Navigator, Camino, Opera, Apple Safari ΠΈ Konqueror (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΡ€Π΅Π΄Π΅ Unix KDE). К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этих Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ рядом Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, различия Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π΄Π°ΠΆΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠŸΡ€Π°Π²Π΄Π°, Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΡΡ‚ΡŒ Π»Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π» нСсколько ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎΡΡŒ, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ способы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Π’ ΡΠΎΡΡ‚Π°Π²Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соврСмСнной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы имССтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ для запуска Ajax-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π±Π°Π·Π΅ Java ΠΈΠ»ΠΈ .NET ΠΌΠΎΠ³ΡƒΡ‚ лишь ΠΌΠ΅Ρ‡Ρ‚Π°Ρ‚ΡŒ ΠΎΠ± ΡΡ‚ΠΎΠΌ. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ для КПК ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ усСчСнный Π½Π°Π±ΠΎΡ€ возмоТностСй ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ajax-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π±Ρ‹ срСдства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ajax ΠΈ ΠΈΠΌΠ΅Π»ΠΈΡΡŒ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ, всС Ρ€Π°Π²Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ экрана ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… создавали Π±Ρ‹ сущСствСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ajax-прилоТСниями. На ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь инфраструктура Ajax ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° лишь Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹.

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π± ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π± ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стандартныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для просмотра ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ страниц, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Explorer ΠΈΠ»ΠΈ Firefox.

К ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ возмоТностям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ относится:

— ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€;

— Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;

— ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;

— ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅;

— ΠΏΠ΅Ρ€Π΅Π½ΠΎΡ;

— ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°;

— ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°;

— ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π± ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ написанный Π½Π° Ajax Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ сСрвСра, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с Php скриптами. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° являСтся кросс ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΊ Π½Π° NT ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊ ΠΈ Π½Π° Unix систСмах.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ языком программирования для написания Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, являСтся Php.

Ѐункция Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ просмотра Ρ„Π°ΠΉΠ»ΠΎΠ²

function copy_dir ($src,$dst) //ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΈΠΊΡ‚ориями

{

if (!file_exists ($src)) return false; //Ссли Ρ„Π°ΠΉΠ»Π° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

if (is_file ($src)) return @copy ($src,$dst); //Ссли Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ„ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ копирования

$error=false;

if (!mkdir ($dst)) $error=true; //создаСт Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

$dh=@opendir ($src); //ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

while (false≠=($f=readdir ($dh)))

@closedir ($dh);

return !$error;

}

function TryCopy ($src,$dst,$name)

{

return copy_dir ($src,$dst." /" .$name);

}

function doView ()

{

global $FS;

$fname=$FS.$_POST[" data" ][" fname" ];

if (!file_exists ($fname)) {echo «ViewAnswer (2);» ;return false;}

if (($text=@file_get_contents ($fname))===false) echo «ViewAnswer (1);» ;

else {

$text=preg_replace («/» /" ," ««,$text);

echo «text=»" .mysql_escape_string ($text)." «; ViewAnswer (0)» ;

}

}

doView ();

?>

Ѐункция Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ рСдактирования ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π°

function Save ($name) // сохранСниС Ρ„Π°ΠΉΠ»Π°

{

if (!($f=@fopen ($name," w"))) return 1; //ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° открытия Ρ„Π°ΠΉΠ»Π° для записи

fputs ($f,$_POST[" data" ][" text" ]); //запись Π² Ρ„Π°ΠΉΠ»

fclose ($f); //Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

return 2;

}

function doEdit ()

{

global $FS;

$saved=0;

$name=$FS.$_POST[" data" ][" name" ];

if (@$_POST[" data" ][" save" ]) $saved=Save ($name);

if (!file_exists ($name)) {echo «EditAnswer (1,$saved);» ;return false;}

if (($text=@file_get_contents ($name))===false) echo «EditAnswer (1,$saved);» ;

else

echo «text=»" .mysql_escape_string ($text)." «;EditAnswer (0,$saved);» ;

}

doEdit ();

?>

Ѐункция Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

function copy_dir ($src,$dst) //ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

{

if (!file_exists ($src)) return false; //Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ссли ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚

if (is_file ($src)) return @copy ($src,$dst); // Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ копирования (ошибка ΠΈΠ»ΠΈ Π½Π΅Ρ‚)

$error=false;

if (!mkdir ($dst)) return false; //Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

$dh=@opendir ($src); // ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для Ρ€Π°Π±ΠΎΡ‚Ρ‹

while (false≠=($f=readdir ($dh))) $f=='.') continue; //Ссли Ρ„Π°ΠΉΠ»/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ —. ΠΈΠ»ΠΈ. ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ

if (!copy_dir ($src.'/'.$f,$dst.'/'.$f)) $error=true; // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ эту ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² имя ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΈΠΌΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

@closedir ($dh); //Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

return !$error;

}

function TryCopy ($src,$dst,$name)

{

return copy_dir ($src,$dst." /" .$name); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ копирования

}

function doCopy ()

{

global $FS;

$src=$FS.$_POST[" data" ][" source" ]; //считываСм исходноС имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°/Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… с сСрвСра

$dst=$FS.$_POST[" data" ][" dst" ]; //считываСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

$name=$_POST[" data" ][" name" ]; //считываСм Π½ΠΎΠ²ΠΎΠ³ΠΎ имя источника копирования

if (!file_exists ($dst)) {echo «CopyAnswer (3);» ;return false;}// провСряСм сущСствованиС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

if (!file_exists ($src)) {echo «CopyAnswer (2);» ;return false;} // провСряСм сущСствованиС источника копирования

if (!TryCopy ($src,$dst,$name)) echo «CopyAnswer (1);»; // выполняСм ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π²Ρ‹Π·ΠΎΠ²

else echo «CopyAnswer (0)» ; // Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ статусом Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ копирования

}

doCopy ();

?>

Ѐункция Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ пСрСнос ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅.

function TryRename ($old,$new)

{

return @rename ($old,$new);//ΠΏΠ΅Ρ€Π΅ΠΌΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°/Ρ„Π°Π»ΠΉΠ°

}

function doRename ()

{

global $FS;

$old=$FS.$_POST[" data" ][" oldname" ];

$new=$FS.$_POST[" data" ][" newname" ];

if (!file_exists ($old)) {echo «RenameAnswer (2);» ;return false;}

if (!TryRename ($old,$new)) echo «RenameAnswer (1);» ;

else echo «RenameAnswer (0)» ;

}

doRename ();

?>

Ѐункция Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ созданиС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

function doCreate ()

{

global $FS;

$src=$FS.$_POST[" data" ][" dir" ];

$name=$_POST[" data" ][" name" ];

if (!file_exists ($src)) {echo «CreateDirAnswer (2);» ;return false;} //провСряСт сущСствованиС Ρ„Π°ΠΉΠ»Π°/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ

if (!@mkdir ($src." /" .$name)) echo «CreateDirAnswer (1);»; //создаСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

else echo «CreateDirAnswer (0)» ;

}

doCreate ();

?>

Ѐункция для удалСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°

function del_dir ($path)

{

$dir = @opendir ($path);//ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

while (($fname = readdir ($dir))){ // Ρ†ΠΈΠΊΠ», ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠΉ проссмотр содСрТимого Ρ„Π°ΠΉΠ»Π°

if (($fname==".") or ($fname==".")) continue;//ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, Ссли имя Ρ„Π°ΠΉΠ»Π°/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° —. ΠΈΠ»ΠΈ .

if (is_file ($path." /" .$fname)) @unlink ($path." /" .$fname);//Ссли просмотриваСмый элСмСнт — Ρ„Π°ΠΉΠ», удаляСм Π΅Π³ΠΎ

else if (!del_dir ($path." /" .$fname)) return false; //Ссли просмотриваСмый элСмСнт — ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ эту ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

}

return @rmdir ($path);//удаляСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ удалСния

}

function TryDelete ($path)

{

if (is_dir ($path)) return del_dir ($path);

else return @unlink ($path);

}

global $FS;

$path=$FS.$_POST[" data" ][" delname" ];

if (!file_exists ($path)) echo «DeleteAnswer (2);» ;

if (!TryDelete ($path)) echo «DeleteAnswer (1);» ;

else echo «DeleteAnswer (0)» ;

?>

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» основноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ прСдставлСниС ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ajax, наглядно продСмонстрировал Π΅Ρ‘ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ тСхнологиями.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ своСго Π²Π΅Π± ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, я ΠΈΠ·ΡƒΡ‡ΠΈΠ» возмоТности сСрвСрных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с Php скриптами, возмоТности языка программирования Php ΠΈ Java скриптов.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ