Что такое приложения AJAX в веб-разработке?
Веб-разработка относится к созданию, созданию, тестированию и поддержке веб-сайтов. Он включает в себя такие аспекты, как веб-дизайн, веб-публикации, веб-программирование и управление базами данных. Это создание приложения, которое работает через Интернет, т.е. веб-сайты. Веб-сайт имеет две основные системы: интерфейс и серверную часть.
Интерфейс: Проще говоря, внешний интерфейс веб-сайта — это те части, через которые пользователи могут взаимодействовать с веб-сайтом.
Бэкэнд: Проще говоря, бэкэнд веб-сайта — это те части, где происходит связь между сервером и клиентом, поскольку все это происходит в фоновом режиме, пользователям не нужно об этом беспокоиться.
В этой статье мы поговорим о том, как мы обновляем наш интерфейс, используя данные, предоставленные нашим бэкэндом. Ну, есть много способов добиться этого. но мы поговорим о том, как добиться этой функциональности с помощью AJAX.
Что такое AJAX и каковы его приложения?
Всякий раз, когда вы собираетесь работать над веб-проектами, существует высокая вероятность того, что вам потребуется взаимодействовать с сервером, однако вы не хотите нарушать пользовательский интерфейс, обновляя его снова и снова, чтобы получать изменения пользовательского интерфейса с сервера. . В таких сценариях AJAX играет важную роль. AJAX — это не язык программирования, а метод асинхронного доступа к данным с сервера и обновления веб-страниц без их обновления/перезагрузки. Проще говоря, AJAX — это метод выполнения операций, требующих взаимодействия с сервером, без повторной загрузки веб-страниц.
AJAX означает асинхронный Javascript и XML, поскольку название предполагает, что процесс не синхронизирован и выполняется в фоновом режиме, не нарушая основной поток процесса. Необходимыми условиями являются базовые знания JavaScript, XML и HTML.
Вот некоторые из наиболее важных приложений AJAX.
- Обновление веб-страницы без перезагрузки страницы.
- Запрос данных с сервера после загрузки страницы.
- Получение данных с сервера после загрузки страницы.
- Отправка данных на сервер в фоновом режиме без нарушения пользовательского интерфейса или других процессов.
Объект XMLHttpRequest: объект XMLHttpRequest можно использовать для обмена данными с сервером за кулисами.
Синтаксис:
var xmlObject = new XMLHttpObject();
В основном есть два метода: open() и send(). доступ к которому может получить ссылочный объект XMLHttpObject. Метод open() используется для подготовки запроса, а метод send() отправляет запрос на сервер.
xmlObj.open("GET", "mypage.php", true); xmlObj.send();
Типы кода состояния HTTP : это параметры, используемые для определения запроса на отправку на сервер. Первый параметр показывает тип запроса, в основном существует пять типов запросов, т.е. GET, POST, PUT, PATCH, DELETE.
Запрос «GET» запрашивает у сервера информацию о «mypage.php». Если такая страница существует, сервер отправит ответ с состоянием готовности 4 и кодом 200, иначе он вернет код 404, что означает, что страница не существует.
Последний аргумент true — это значение для асинхронности. По умолчанию установлено значение «true», что означает, что этот процесс будет происходить в фоновом режиме, вы можете применить значение «false», чтобы сделать этот процесс синхронным.
Подход: мы не собираемся использовать выделенный сервер, вместо этого мы будем отправлять запросы на нашу локальную машину для получения данных.
Пример 1: Всякий раз, когда мы нажимаем на кнопку, она запускает функцию loadPage() . Мы используем функцию обратного вызова xmlObj.onload(), которая обеспечивает завершение цикла запроса и ответа. Мы заполняем HTML-код, используя простую технику манипулирования DOM.
xmlObj.responseText содержит ответ, отправленный сервером в текстовой форме, и это заполнит HTML-элемент div результатом.
HTML
<!DOCTYPE html> < html lang = "en" > < head > < script > function loadPage() { var xmlObj = new XMLHttpRequest(); xmlObj.onload = () => { document.getElementById("ajaxPage") .innerHTML = xmlObj.responseText; }; xmlObj.open("GET", "example.txt", true); xmlObj.send(); } </ script > </ head > < body > < h2 style = "color:green;" > GeeksforGeeks </ h2 > < h3 > Please click here to see changes without refershing the page. </ h3 > < button type = "button" onclick = "loadPage()" > Click Here </ button > < div id = "ajaxPage" ></ div > </ body > </ html > |
пример.txt:
<html> <head> <title>AJAX EXAMPLE PAGE </title> </head> <body> <h2> AJAX EXAMPLE PAGE </h2> <h4>Hey there! this is an example page to show jquery ajax working.</h4> </body> </html>
Выход:
jQuery AJAX: библиотека jQuery имеет метод ajax() , с помощью которого мы можем выполнять асинхронные операции, аналогичные нашему предыдущему примеру. Метод ajax() принимает объект с набором свойств, таких как тип, URL, асинхронность и т. д., похожих на наш XMLHTTPRequest().
Пример: в этом примере мы будем использовать метод jQuery ajax() для достижения функциональности, аналогичной XMLHTTPRequest().
Шаг 1: Давайте создадим файл и назовем его ajax_example2.html. Сначала мы напишем наш базовый шаблонный HTML-код.
HTML
<!DOCTYPE html> < html > < head > < title >Jquery Ajax Tutorial</ title > </ head > < body ></ body > </ html > |
Шаг 2: Поскольку мы собираемся использовать метод ajax() из библиотеки jQuery, нам сначала нужно импортировать jQuery CDN (сеть доставки контента),
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js”> </script>
Шаг 3: После двух предыдущих шагов мы можем использовать библиотеку jQuery в нашем файле «ajax_example2.html». Давайте создадим простой текстовый файл «example.txt» для отображения содержимого этого файла с помощью ajax() .
пример.txt:
<html> <head> <title>AJAX EXAMPLE PAGE </title> <head> <body> <h2> AJAX EXAMPLE PAGE </h2> <h4> Hey there! this is an example page to show jquery ajax working. </h4> </body> </html>
Шаг 4: Мы напишем функцию jQuery, которая будет обновлять нашу веб-страницу. Функция будет выполняться всякий раз, когда мы нажимаем кнопку, и результаты будут отображаться в HTML-элементе div с идентификатором «результат».
Javascript
$(document).ready( function () { $( "button" ).click( function () { $.ajax({url: "example2.txt" , success: function (result) { $( "#result" ).html(result); }}); }); }); |
Окончательный код:
Выход:
Если вам удобно работать с jQuery, вы можете использовать метод ajax() , или же вы можете использовать XMLHTTPRequest(), оба они работают очень похоже, за исключением синтаксиса.
Преимущества:
- Поскольку перезагрузка/обновление не требуется, веб-страницы выглядят более привлекательными.
- AJAX работает асинхронно и не блокирует синхронные процессы.
- Проверка формы также может быть выполнена с использованием AJAX.
- Меньшее потребление памяти
Недостатки:
- AJAX может создавать проблемы для поисковых систем, поскольку сильно зависит от JavaScript.
- Отладка может быть затруднена для сложных проектов/систем.
- Кнопка «Назад» также может вызвать проблемы со страницами, отображаемыми с помощью AJAX.