Итак, это случилось! Наконец-то я закончил создание своего первого одностраничного приложения: Daily Journaling. Это приложение было создано как часть моего проекта портфолио для Flatiron School, Software Engineer Bootcamp. С помощью этого приложения цифрового журнала вы можете:
- получить доступ к случайной ежедневной цитате, чтобы поддерживать мотивацию и позитивный настрой
- как ежедневная цитата
- написать новую запись в журнале
- искать прошлую запись в журнале по дате
В этой статье мы рассмотрим, как получить доступ к данным из API, а затем как отобразить эти данные в вашем проекте. Я собираюсь использовать часть кода приложения Daily Journaling в качестве примера, чтобы вы могли следовать и использовать те же шаги для своего собственного приложения.
Давайте начнем!
ШАГ 1: выберите свой API
Существует множество бесплатных общедоступных API-интерфейсов, так что предела нет. Для этого проекта я выбрал API котировок, чтобы иметь возможность отображать случайные цитаты. API от Type Fit, доступ к нему можно получить здесь: https://type.fit/api/quotes.
ШАГ 2: изучите API
Убедитесь, что вы прочитали документацию по API, чтобы понять, как получить доступ к вашему API (проверьте, нужен ли вам ключ или нужно ли вам подписаться…) и как записываются данные.
В нашем случае мы видим, что каждая цитата представляет собой объект с двумя ключами:
- текст
- автор
Это пригодится позже, когда придет время манипулировать данными.
ШАГ 3: доступ к данным
Теперь, когда мы знаем, как выглядят наши данные, пришло время получить к ним доступ с помощью нашего приложения. В нашем файле index.js мы будем использовать запрос на выборку:
ПРИМЕЧАНИЕ: просто замените URL-адрес API для своего проекта
Мне нравится выводить данные в console.log, чтобы убедиться, что мы действительно получили то, что хотели. В этом случае да, наш запрос на выборку выполнен успешно!
При использовании консоли инструментов разработчика в браузере Chrome вот что было в console.log (см. рис. 3)
ШАГ 4: «отобразить» данные
Теперь, когда мы знаем, что у нас есть доступ к данным в API, пришло время «отобразить» их в нашем проекте. Для этого мы собираемся настроить наш запрос на выборку и добавить функцию для отображения данных. Мы собираемся вызвать эту функцию displayQuote().
ПРИМЕЧАНИЕ: поскольку я хочу отобразить случайную цитату, я собираюсь изменить свой код, чтобы выбрать случайную цитату вместо всего массива цитат. (см. рис. 5)
Если вы обратите внимание на название ШАГА 4, вы заметите, что «отображение» было в « ». Это потому, что, несмотря на то, что мы написали весь этот код, мы все равно не увидим ничего отображаемого в нашем приложении. Это потому, что нам еще нужно:
- создайте элементы HTML, где мы хотим, чтобы наша цитата отображалась
- написать код для displayQuote()
Давайте сделаем именно это!
ШАГ 5: создайте элементы HTML, где мы хотим, чтобы наши данные отображались
Если мы правильно помним ШАГ 2, каждая цитата представляла собой объект с ключами текст и автор (см. рис. 1 и рис. 3). Итак, я выбрал два разных элемента HTML для отображения этих двух ключей:
- ‹q› ‹/q› для текста цитаты
- ‹p› ‹/p› для автора цитаты
ПРИМЕЧАНИЕ: этот код находится в моем index.html
Я также дал каждому элементу идентификатор, чтобы я мог получить к ним доступ позже в своем index.js.
ШАГ 6: доступ к элементам HTML в index.js
Прежде чем мы начнем кодировать нашу функцию displayQuote(), мы должны иметь доступ к вновь созданным элементам html. Поскольку мы дали идентификатор этим элементам, вы можете сделать это, используя:
- .querySelector()
OR
- .getElementById()
ШАГ 7: кодирование нашей функции displayQuote()
Наконец-то мы можем написать код для displayQuote(). Когда мы это сделаем, давайте вспомним несколько вещей:
- когда мы вызывали displayQuote(), у нас была цитата в качестве параметра (см. рис. 5)
- цитата — это объект с двумя ключами: текст и автор (см. рис. 3)
- мы хотим, чтобы значение innerText каждого элемента html было значением соответствующего ключа нашего объекта цитаты
ПРИМЕЧАНИЕ. Я решил, что имя автора должно быть в верхнем регистре, поэтому я буду использовать .toUpperCase()
ШАГ 8: еще раз проверьте, все ли работает
Если вы заметили (см. рис. 9), я использовал console.log(quoteObj), чтобы убедиться, что параметр, с которым мы имеем дело, действительно является объектом кавычек. Вот что вернул console.log() в консоли инструментов разработчика:
Тогда вот как наша отображаемая цитата выглядит в нашем приложении:
ЗАКЛЮЧИТЕЛЬНЫЕ СЛОВА
В этой статье вы узнали пошаговый процесс доступа к данным из API и отображения этих данных в своем приложении.
Если у вас есть какие-либо вопросы, просто оставьте мне комментарий ниже, и я с радостью отвечу вам.
Если вы хотите проверить весь проект, вы можете сделать это здесь.