Skip to content

Практическая работа №14

AJAX-интерактивность с использованием Fetch API

Section titled “AJAX-интерактивность с использованием Fetch API”

Цель работы:

  • изучить принцип работы AJAX-запросов;
  • реализовать обмен данными между JavaScript, PHP и MySQL;
  • настроить JSON-ответы на стороне PHP;
  • добавить минимум три действия без полной перезагрузки страницы;

Основные теоретические положения

Section titled “Основные теоретические положения”

AJAX позволяет странице обмениваться данными с сервером без полной перезагрузки.

fetch('/api/search.php?q=test')
.then(response => response.json())
.then(data => console.log(data));
JavaScript → Fetch API → PHP → MySQL → JSON → обновление интерфейса

Производственная ситуация

Section titled “Производственная ситуация”

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


Основные требования к практической работе

Section titled “Основные требования к практической работе”

В рамках практической работы необходимо:

  1. Реализовать минимум 3 ajax-действия.
  2. Использовать fetch api.
  3. Создать php-обработчики для ajax.
  4. Возвращать json-ответы.
  5. Обновлять интерфейс без полной перезагрузки.
  6. Обрабатывать ошибки.
  7. Дать пользователю визуальную обратную связь.

Задания для выполнения

Section titled “Задания для выполнения”

Задание 1. Выбор AJAX-действий

Section titled “Задание 1. Выбор AJAX-действий”

Выберите минимум 3 действия: поиск, фильтрация, проверка email, отправка формы, удаление объекта, изменение статуса.

Создайте /public/api и разместите там PHP-обработчики.

Используйте функцию jsonResponse() или аналогичный код для возврата JSON.

Задание 4. AJAX-поиск или фильтрация

Section titled “Задание 4. AJAX-поиск или фильтрация”

Реализуйте поиск или фильтрацию объектов каталога без перезагрузки страницы.

Задание 5. AJAX-отправка формы

Section titled “Задание 5. AJAX-отправка формы”

Реализуйте отправку формы основного действия через fetch и FormData.

Задание 6. AJAX-изменение статуса

Section titled “Задание 6. AJAX-изменение статуса”

В административной панели реализуйте изменение статуса без полной перезагрузки страницы.

Задание 7. Обработка ошибок

Section titled “Задание 7. Обработка ошибок”

Обработайте пустые поля, недостаток прав, неавторизованного пользователя, объект не найден.

Задание 8. Визуальная обратная связь

Section titled “Задание 8. Визуальная обратная связь”

Добавьте сообщение об успехе/ошибке, индикатор загрузки, отключение кнопки на время отправки.

Убедитесь, что страница не перезагружается, данные сохраняются, JSON корректный.

Задание 10. Коммит результатов

Section titled “Задание 10. Коммит результатов”

Выполните коммит с сообщением add ajax interactions with fetch api.


Требования к результату

Section titled “Требования к результату”

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

  • минимум 3 AJAX-действия;
  • JavaScript-код с Fetch API;
  • PHP-обработчики;
  • JSON-ответы;
  • обновление интерфейса без перезагрузки;
  • обработка ошибок;
  • визуальная обратная связь;

  1. Что такое AJAX?
  2. Для чего используется Fetch API?
  3. Что такое JSON?
  4. Почему AJAX улучшает пользовательский опыт?
  5. Какие ошибки нужно обрабатывать при AJAX-запросах?

Рекомендуемые материалы

Section titled “Рекомендуемые материалы”
  1. Требования к итоговому проекту.
  2. Дорожная карта учебной практики.
  3. Git-репозиторий индивидуального проекта.
  4. Документация, подготовленная на предыдущих этапах.
  5. Материалы по теме практической работы.