AJAX sp. courses. dp. ua В чём

Скачать презентацию AJAX sp. courses. dp. ua  В чём Скачать презентацию AJAX sp. courses. dp. ua В чём

18-ajax.pptx

  • Размер: 838.3 Кб
  • Автор:
  • Количество слайдов: 23

Описание презентации AJAX sp. courses. dp. ua В чём по слайдам

AJAX sp. courses. dp. ua AJAX sp. courses. dp. ua

В чём проблема? В чём проблема?

Вариант № 1 Пример:  «простой чат» 3 http: //courses. dp. ua/demo/ajax_1/ Вариант №Вариант № 1 Пример: «простой чат» 3 http: //courses. dp. ua/demo/ajax_1/ Вариант № 2 Вариант № 3 http: //courses. dp. ua/demo/ajax_ 2 / http: //courses. dp. ua/demo/ajax_ 3 / Есть необходимость обновлять только часть страницы. При этом данных которые необходимо разместить на момент загрузки не было. Возникает необходимость сделать дополнительные сетевые запросы, чтобы получить нужные данные. Причём всё это будет происходить когда пользователь уже взаимодействует со страницей в своём браузере.

Что делать? 4 Хорошо бы обновлять часть страницы с сообщениями, а часть с формойЧто делать? 4 Хорошо бы обновлять часть страницы с сообщениями, а часть с формой не обновлять пока посетитель сам не отправит новое сообщение. Не обновлять Обновлять

AJAX AJAX

6 AJAX ( Asynchronous Javascript and XML — «асинхронный Java. Script и XML» )6 AJAX ( Asynchronous Javascript and XML — «асинхронный Java. Script и XML» ) За изменение страницы в браузере пользователя отвечает Java. Script, но до этого момента Java. Script изменял страницу только на основе данных полученные еще при загрузке страницы в браузер и/или в зависимости от действий пользователя. Получить какие-то новые (дополнительные) данные Java. Script не мог.

7 AJAX ( Asynchronous Javascript and XML — «асинхронный Java. Script и XML» )7 AJAX ( Asynchronous Javascript and XML — «асинхронный Java. Script и XML» ) С появлением в браузерах специального объекта XMLHttp. Request у Java. Script появилась возможность делать HTTP-запросы к сайтам, и изменять страницу уже на основе данных которых не было при загрузке странице. Т. е. дозагружать HTML или другие данные и вставлять их на страницу.

Идея заложенная в AJAX - не перезагружая страницу полностью запросить у сервера данные иИдея заложенная в AJAX — не перезагружая страницу полностью запросить у сервера данные и вставить их в дерево документа.

JSON JSON

10 JSON (Java. Script Object Notation) JSON - текстовый формат обмена данными,  ,10 JSON (Java. Script Object Notation) JSON — текстовый формат обмена данными, , удобный для чтения и написания как человеком, так и компьютером. Основан на синтаксисе (правилах записи) массивов в Java. Script ( ECMAScript 3 ). Формат поддерживается практически во всех современных языках программирования. http: //www. json. org/json-ru. html'{ «name»: «Вася», «age»: 35, «is. Admin»: false, «friends»: [0, 1, 78, 99] }’; Сохранение объекта/массива в строковом виде и последующее восстановление объекта еще называют сериализацией.

11 JSON в интернете https: //api. privatbank. ua/p 24 api/pubinfo? json&exchange&coursid=5 JSON  является11 JSON в интернете https: //api. privatbank. ua/p 24 api/pubinfo? json&exchange&coursid=5 JSON является популярным форматом для обмена информацией в Интернете. Большое количество сайтов позволяют получить информацию в формате JSON для более удобной её обработки.

12 JSON в реальности Скрипт для своей работы использует актуальные курсы валют Приватбанка. 12 JSON в реальности Скрипт для своей работы использует актуальные курсы валют Приватбанка. Документация: https : //api. privatbank. ua/# p 24/exchange

13 Объект XMLHTTPRequest XMLHttp. Request – поддерживает событийную модель,  и в зависимости от13 Объект XMLHTTPRequest XMLHttp. Request – поддерживает событийную модель, и в зависимости от развития ситуации генерирует те или иные события. Синхронный запрос – при котором бразуер ждём ответа, скрипт при этом «замирает» до прихода ответа. Асинхронный – скрипт продолжает выполнятся, при поступлении ответа будет вызвана функция зарегистрированная как обработчик события onload.

14 Объект XMLHTTPRequest В консоли разработчика хорошо заметны запросы которые делались через XMLHttp. Request14 Объект XMLHTTPRequest В консоли разработчика хорошо заметны запросы которые делались через XMLHttp. Request – по характерной метке type равной xhr.

Что-то много кода… Что-то много кода…

16 Функции асинхронной загрузка данных j. Query. load(). get(). post(). get. JSON(). ajax() j.16 Функции асинхронной загрузка данных j. Query. load(). get(). post(). get. JSON(). ajax() j. Query предоставляет несколько функций для совершения AJAX запросов. Но можно обойтись одной . ajax() , все остальные лишь её обёртки. http: //api. jquery. com/category/ajax/

17 API ( интерфейс программирования приложений,  интерфейс прикладного программирования ) ( англ. 17 API ( интерфейс программирования приложений, интерфейс прикладного программирования ) ( англ. a pplicaton p rogramming i nterface ] ) — Набор правил, которые определяют как правильно общаться с другим сайтов/программой/системой. API https : //api. privatbank. ua/

18 j. Query + AJAX на практике Скачайте заготовку: http: //files. courses. dp. ua/web/23/ex18 j. Query + AJAX на практике Скачайте заготовку: http: //files. courses. dp. ua/web/23/ex 03. html Пересчитаем цены в гривневые, за основу курса возьмём данные Приватбанка.

19 j. Query + AJAX на практике Пересчитаем цены в гривневые, за основу курса19 j. Query + AJAX на практике Пересчитаем цены в гривневые, за основу курса возьмём данные Приватбанка.

Кросс-доменные запросы Кросс-доменные запросы

21 Кросс-доменные запросы API с курсами валют есть и у НБУ: https : //21 Кросс-доменные запросы API с курсами валют есть и у НБУ: https : // bank. gov. ua/control/uk/publish/artcle? art_id=38441973 Почему мы не может загрузить JSON с курсами по указанному там адресу: https : // bank. gov. ua/NBUStat. Service/v 1/statdirectory/exchange? json

22 Кросс-доменные запросы Попытаемся загрузить данные от НБУ… 22 Кросс-доменные запросы Попытаемся загрузить данные от НБУ…

23 Кросс-доменные запросы (т. е.  запросы к другому домену,  не к тому23 Кросс-доменные запросы (т. е. запросы к другому домену, не к тому с которого загружен скрипт) проходят контроль безопасности ( который осуществляет браузер ). Чтобы страница могла быть доступна через кросс-доменные запросы (читай AJAX запросы к страницам других сайтов), страница должна сама сказать об этом, а именно установить в HTTP ответе заголовок Access-Control-Allow-Origin. https: //learn. javascript. ru/xhr-crossdomain