Введение
В этом проекте вы научитесь отправлять запросы с заголовками авторизации с использованием Axios и обновлять DOM на основе данных ответа. Вы создадите простое веб-приложение, которое взаимодействует с сервером для получения частей загадочной заклинания.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- настраивать проект и получать исходный код;
- реализовывать функциональность для кнопки "Ключ 1";
- реализовывать функциональность для кнопки "Ключ 2";
- проверять, можно ли открыть сокровищницу на основе полученных частей заклинания.
🏆 Достижения
После завершения этого проекта вы сможете:
- использовать Axios для отправки HTTP-запросов с пользовательскими заголовками;
- манипулировать DOM для отображения динамического контента;
- реализовывать условную логику для проверки конкретных условий;
- последовательно следовать инструкциям для завершения веб-разработки проекта.
Настроить структуру проекта
В этом шаге вы настроите файлы и структуру проекта. Следуйте шагам ниже, чтобы завершить этот шаг:
Откройте папку проекта. Структура каталогов следующая:
├── css
├── lib
├── js
│ └── index.js
└── index.html
В них:
index.html- главная страница.css- папка для хранения стилей проекта.lib- папка для хранения JavaScript-зависимостей проекта.js/index.js- JavaScript-файл, в котором нужно дополнить код.
Нажмите кнопку Go Live в нижнем правом углу WebIDE, чтобы запустить проект.
Далее откройте "Web 8080" в верхней части ВМ и обновите ее вручную, чтобы увидеть страницу.
Реализовать кнопку Ключ 1
В этом шаге вы реализуете функциональность для кнопки "Ключ 1".
В файле
js/index.jsнайдите блокkey1Button.addEventListener("click", async () => {... }).Замените
let { data } = await axios.get("/spellone");на следующий код:let { data } = await axios.get("/spellone", { headers: { Authorization: "2b58f9a8-7d73-4a9c-b8a2-9f05d6e8e3c7" } });Эти строки кода отправят GET-запрос на конечную точку
/spelloneс заголовкомAuthorization, установленным на указанный токен. Данные ответа будут отображаться в элементеspell1.Сохраните файл
js/index.js.
Реализовать кнопку Ключ 2
В этом шаге вы реализуете функциональность для кнопки "Ключ 2".
В файле
js/index.jsнайдите блокkey2Button.addEventListener("click", async () => {... }).Замените
let { data } = await axios.get("/spelltwo");на следующий код:let { data } = await axios.get("/spelltwo", { headers: { Authorization: "2b58f9a8-7d73-4a9c-b8a2-9f05d6e8e3c7" } });Эти строки кода отправят GET-запрос на конечную точку
/spelltwoс заголовкомAuthorization, установленным на указанный токен. Данные ответа будут отображаться в элементеspell2.Сохраните файл
js/index.js.
Проверить сокровищный ящик
В этом шаге вы реализуете логику для проверки, можно ли открыть сокровищницу.
- В файле
js/index.jsнайдите функциюtryOpenTreasureBox(). - Эта функция проверяет, совпадают ли содержимое элементов
spell1иspell2с ожидаемыми значениями ("I love you" и "You love me too"). Если условия выполняются, она добавит класс "opened" к элементуtreasureBoxи отобразит сообщение об успехе. - Сохраните файл
js/index.js.
Тестировать приложение
- Вернитесь в браузер и обновите страницу.
- Нажмите кнопки "Ключ 1" и "Ключ 2" и наблюдайте за изменениями на странице.
- Если сокровищница успешно открыта, вы увидите отображенное сообщение об успехе. Завершенный эффект выглядит так:

Поздравляем! Вы завершили проект "Тайная заклинание". Вы узнали, как отправлять запросы с заголовками авторизации с использованием Axios и как обновлять DOM на основе данных ответа.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



