~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ D662820D9A82761333B9E5F08ED43B58__1716527820 ✰
Заголовок документа оригинал.:
✰ Ajax (programming) - Wikipedia ✰
Заголовок документа перевод.:
✰ Ajax (программирование) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Ajax_(programming) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/d6/58/d662820d9a82761333b9e5f08ed43b58.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/d6/58/d662820d9a82761333b9e5f08ed43b58__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 05:23:56 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 24 May 2024, at 08:17 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Ajax (программирование) — Википедия Jump to content

Аякс (программирование)

Из Википедии, бесплатной энциклопедии

Асинхронный JavaScript и XML
Впервые появился март 1999 г.
Расширения имен файлов .js
Форматы файлов JavaScript
Под влиянием
JavaScript и XML

Ajax также AJAX / ˈ æ k s / ; сокращение от « Синхронный ( J avaScript и » X ML » или « Синхронная передача Ja vaScript ( x -fer) [1] [2] ) — это набор методов веб-разработки , который использует различные веб-технологии на стороне клиента для создания асинхронных веб-приложений . С помощью Ajax веб-приложения могут отправлять и получать данные с сервера асинхронно (в фоновом режиме), не вмешиваясь в отображение и поведение существующей страницы. Отделяя уровень обмена данными от уровня представления, Ajax позволяет веб-страницам и, соответственно, веб-приложениям динамически изменять контент без необходимости перезагрузки всей страницы. [3] На практике современные реализации обычно используют JSON вместо XML.

Ajax — это не технология, а скорее концепция программирования. HTML и CSS можно использовать в сочетании для разметки и оформления информации. Веб-страницу можно изменить с помощью JavaScript для ее динамического отображения и предоставления пользователю возможности взаимодействовать с новой информацией. Встроенный объект XMLHttpRequest используется для выполнения Ajax на веб-страницах, позволяя веб-сайтам загружать контент на экран без обновления страницы. Ajax — это не новая технология и не новый язык. Вместо этого существующие технологии используются по-новому.

История [ править ]

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

В 1996 году тег iframe был представлен Internet Explorer ; как элемент объекта , [ нужна цитата ] он может загружать часть веб-страницы асинхронно. В 1998 году группа Microsoft Outlook Web Access разработала концепцию объекта сценария XMLHttpRequest . [4] Во второй версии библиотеки MSXML он появился как XMLHTTP . [4] [5] который поставлялся вместе с Internet Explorer 5.0 в марте 1999 года. [6]

Функциональность элемента управления Windows XMLHTTP ActiveX в IE 5 позже была реализована Mozilla Firefox , Safari , Opera , Google Chrome и другими браузерами как объект JavaScript XMLHttpRequest. [7] Microsoft приняла собственную модель XMLHttpRequest, начиная с Internet Explorer 7 . Версия ActiveX по-прежнему поддерживается в Internet Explorer, но не в Microsoft Edge . Полезность этих фоновых HTTP- запросов и асинхронных веб-технологий оставалась довольно неясной, пока они не начали появляться в крупномасштабных онлайн-приложениях, таких как Outlook Web Access (2000). [8] и Оддпост (2002). [9]

Google широко внедрил совместимый со стандартами кросс-браузерный Ajax с Gmail (2004 г.) и Google Maps (2005 г.). [10] В октябре 2004 года публичная бета-версия Kayak.com стала одним из первых крупномасштабных применений в электронной коммерции того, что их разработчики в то время называли «вещью xml http». [11] Это повысило интерес к Ajax среди разработчиков веб-программ.

Термин AJAX был публично использован 18 февраля 2005 года Джесси Джеймсом Гарреттом в статье под названием Ajax: новый подход к веб-приложениям , основанной на методах, используемых на страницах Google. [1]

5 апреля 2006 года Консорциум Всемирной паутины (W3C) опубликовал первый проект спецификации объекта XMLHttpRequest в попытке создать официальный веб-стандарт . [12] Последний вариант объекта XMLHttpRequest был опубликован 6 октября 2016 г. [13] а спецификация XMLHttpRequest теперь является живым стандартом . [14]

Технологии [ править ]

Традиционная модель веб-приложения в сравнении с приложением, использующим Ajax.

Термин Ajax стал обозначать широкую группу веб-технологий, которые можно использовать для реализации веб-приложения, которое взаимодействует с сервером в фоновом режиме, не вмешиваясь в текущее состояние страницы. В статье, в которой был предложен термин Ajax, [1] [3] Джесси Джеймс Гарретт объяснил, что используются следующие технологии:

  • HTML (или XHTML ) и CSS для представления
  • Объектная модель документа (DOM) для динамического отображения данных и взаимодействия с ними.
  • JSON или XML для обмена данными и XSLT для манипуляций с XML.
  • Объект XMLHttpRequest для асинхронной связи.
  • JavaScript для объединения этих технологий

Однако с тех пор произошел ряд изменений в технологиях, используемых в приложениях Ajax, и в определении самого термина Ajax. XML больше не требуется для обмена данными и, следовательно, XSLT больше не требуется для манипулирования данными. Нотация объектов JavaScript (JSON) часто используется в качестве альтернативного формата для обмена данными. [15] хотя также можно использовать и другие форматы, такие как предварительно отформатированный HTML или обычный текст. [16] Различные популярные библиотеки JavaScript, включая JQuery , включают абстракции, помогающие выполнять запросы Ajax.

Примеры [ править ]

Пример JavaScript [ править ]

Пример простого Ajax-запроса с использованием метода GET , написанного на JavaScript .

get-ajax-data.js:

// Это клиентский скрипт. 

  // Инициализируем HTTP-запрос. 
  пусть   xhr   =   новый   XMLHttpRequest  (); 
  // определяем запрос 
 xhr  .   открыть  (  'GET'  ,   'send-ajax-data.php'  ); 

  // Отслеживаем изменения состояния запроса. 
  ххр  .   onreadystatechange   =   функция   ()   { 
	 const   DONE   =   4  ;    // ReadyState 4 означает, что запрос выполнен. 
	  константа   ОК   =   200  ;    // статус 200 — успешный возврат. 
	  если   (  xhr.readyState   ===   DONE  )   { 
		 если   (  xhr.status   ===   ОК  )   { 
			 console  .   журнал  (  xhr  .  responseText  );    // 'Это результат.' 
		  }   Еще   { 
			 консоль  .   log  (  :'   +   xhr.status  '  Ошибка  );    // Во время запроса произошла ошибка. 
		  } 
	 } 
 }; 

  // Отправляем запрос на send-ajax-data.php 
 xhr  .   отправить  (  ноль  ); 

send-ajax-data.php:

<?php 
 // Это серверный скрипт. 

  // Устанавливаем тип контента. 
  заголовок  (  'Content-Type: text/plain'  ); 

  // Отправляем данные обратно. 
  echo   «Это результат».   ; 
  ?> 

Получить пример [ править ]

Fetch — это собственный API JavaScript. [17] Согласно документации разработчиков Google , «Fetch упрощает выполнение веб-запросов и обработку ответов, чем при использовании более старого XMLHttpRequest».

выборка  (  'send-ajax-data.php'  ) 
     .   затем  (  данные   =>   console  .  log  (  данные  )) 
     .   catch   (  ошибка   =>   console  .  log  (  'Ошибка:'   +   ошибка  )); 

Пример ES7 async/await [ править ]

асинхронная   функция   doAjax1  ()   { 
     try   { 
         const   res   =   await   fetch  (  'send-ajax-data.php'  ); 
          константные   данные   =   ждут   разрешения  .   текст  (); 
          консоль  .   журнал  (  данные  ); 
      }   catch   (  ошибка  )   { 
         console  .   журнал  (  'Ошибка:'   +   ошибка  ); 
      } 
 } 

 doAjax1  (); 

Fetch полагается на обещания JavaScript .

The fetch спецификация отличается от Ajax следующими важными способами:

  • Обещание вернулось из fetch() не будет отклоняться при статусе ошибки HTTP, даже если ответом является HTTP 404 или 500. Вместо этого, как только сервер ответит заголовками, обещание будет разрешено нормально (с ok для свойства ответа установлено значение false, если ответ не находится в диапазоне 200–299), и он будет отклонен только в случае сбоя сети или если что-то помешало завершению запроса.
  • fetch() не будет отправлять файлы cookie из разных источников, если вы не установите параметр инициализации учетных данных . (С апреля 2018 года. В спецификации изменена политика учетных данных по умолчанию на same-origin. Firefox изменился с версии 61.0b13.)

Преимущества [ править ]

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

Более того, Ajax облегчает асинхронную обработку, упрощая использование XmlHttpRequest, что позволяет эффективно обрабатывать запросы на асинхронное получение данных. Кроме того, динамическая загрузка контента значительно повышает производительность приложения. [19]

Кроме того, Ajax имеет широкую поддержку во всех основных веб-браузерах, включая Microsoft Internet Explorer версии 5 и выше, Mozilla Firefox версии 1.0 и выше, Opera версии 7.6 и выше и Apple Safari версии 1.2 и выше. [20]

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б с Джесси Джеймс Гарретт (18 февраля 2005 г.). «Ajax: новый подход к веб-приложениям» . AdaptivePath.com. Архивировано из оригинала 10 сентября 2015 года . Проверено 19 июня 2008 г.
  2. ^ «Ajax — Руководства веб-разработчика» . Веб-документы MDN . Архивировано из оригинала 28 февраля 2018 года . Проверено 27 февраля 2018 г.
  3. ^ Перейти обратно: а б Уллман, Крис (март 2007 г.). Начало «Аякса» . рокс. ISBN  978-0-470-10675-4 . Архивировано из оригинала 5 июля 2008 года . Проверено 24 июня 2008 г.
  4. ^ Перейти обратно: а б «Статья по истории XMLHTTP от оригинального разработчика» . Alexhopmann.com. 31 января 2007 г. Архивировано из оригинала 23 июня 2007 г. Проверено 14 июля 2009 г.
  5. ^ «Спецификация интерфейса IXMLHTTPRequest из сети разработчиков Microsoft» . Msdn.microsoft.com. Архивировано из оригинала 26 мая 2016 года . Проверено 14 июля 2009 г.
  6. ^ Дутта, Сунава (23 января 2006 г.). «Собственный объект XMLHTTPRequest» . IEBlog . Майкрософт. Архивировано из оригинала 6 марта 2010 года . Проверено 30 ноября 2006 г.
  7. ^ «Динамический HTML и XML: объект XMLHttpRequest» . Apple Inc. Архивировано из оригинала 9 мая 2008 года . Проверено 25 июня 2008 г.
  8. ^ Хопманн, Алекс. «История XMLHTTP» . Блог Алекса Хопманна . Архивировано из оригинала 30 марта 2010 года . Проверено 17 мая 2010 г.
  9. ^ Тайнан, Дэн (1 октября 2007 г.). «16 величайших моментов в истории Интернета» . Предприниматель .
  10. ^ «Краткая история Аякса» . Аарон Шварц. 22 декабря 2005 г. Архивировано из оригинала 3 июня 2010 г. Проверено 4 августа 2009 г.
  11. ^ Инглиш, Пол (12 апреля 2006 г.). «Пользовательский интерфейс каяка» . Официальный техноблог Kayak.com . Архивировано из оригинала 23 мая 2014 года . Проверено 22 мая 2014 г.
  12. ^ ван Кестерен, Энн; Джексон, Дин (5 апреля 2006 г.). «Объект XMLHttpRequest» . W3.org . Консорциум Всемирной паутины. Архивировано из оригинала 16 мая 2008 года . Проверено 25 июня 2008 г.
  13. ^ Кестерен, Энн; Обур, Жюлиан; Сонг, Чонгки; Стин, Холлворд Р.М. «XMLHttpRequest Level 1» . W3.org . W3C. Архивировано из оригинала 13 июля 2017 года . Проверено 19 февраля 2019 г.
  14. ^ «Стандарт XMLHttpRequest» . xhr.spec.whatwg.org . Проверено 21 апреля 2020 г.
  15. ^ «Обозначение объектов JavaScript» . Апач.орг. Архивировано из оригинала 16 июня 2008 года . Проверено 4 июля 2008 г.
  16. ^ «Ускорьте работу своих приложений на основе Ajax с помощью JSON» . DevX.com. Архивировано из оригинала 4 июля 2008 года . Проверено 4 июля 2008 г.
  17. ^ «Fetch API — веб-API» . МДН . Архивировано из оригинала 29 мая 2019 года . Проверено 30 мая 2019 г.
  18. ^ «Что такое AJAX? Преимущества и недостатки Ajax?» . магаплаза. Архивировано из оригинала 6 октября 2023 года . Проверено 6 октября 2023 г.
  19. ^ «Что такое AJAX? Преимущества и недостатки Ajax. Преимущества и недостатки AJAX — вы о них знаете» . ПОТЕНЦА. Архивировано из оригинала 6 октября 2023 года . Проверено 6 октября 2023 г.
  20. ^ «Топ-5+ преимуществ и недостатков AJAX» . ПОТЕНЦА. Архивировано из оригинала 6 октября 2023 года . Проверено 6 октября 2023 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: D662820D9A82761333B9E5F08ED43B58__1716527820
URL1:https://en.wikipedia.org/wiki/Ajax_(programming)
Заголовок, (Title) документа по адресу, URL1:
Ajax (programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)