Английская версия: https://www.javascripttutorial.net/javascript-fetch-api/
Fetch API представляет собой современный интерфейс , который позволяет делать HTTP запросы к серверам из веб - браузеров.
Если вы уже работали с object XMLHttpRequest( XHR), Fetch API может выполнять все задачи как объект XHR.
Кроме того, Fetch API намного проще и чище. Он используется Promiseдля обеспечения более гибких функций для выполнения запросов к серверам веб-браузеров.
Метод fetch()доступен в глобальной области, которая указывает веб-браузерам отправлять запрос на URL-адрес.
fetch()Требуется только один параметр , который является URL ресурса вы хотите найти:
Метод fetch()возвращает одно Promise(обещание), чтобы вы могли использовать методы then()и catch():
Когда запрос будет выполнен, ресурс будет доступен. В этот момент Promiseбудет преобразован в объект Response.
Объект Responseпредставляет собой оболочку API для искомого ресурса. У объекта Responseесть несколько свойств и методов, полезных для проверки ответа.
Если содержимое ответа находится в необработанном текстовом формате, вы можете использовать этот метод text(). Метод text()возвращает тот, Promiseкоторый разрешается с полным содержимым искомого ресурса:
На практике вы обычно используете async/awaitэтот метод fetch(), например:
В дополнение к методу text(), объект Responseимеет и другие методы , такие как json(), blob(), formData()и , arrayBuffer()чтобы иметь дело с их типами данных.
Объект Responseпредоставляет код ситуации и текст ситуации через свойства statusи statusText. Когда запрос выполнен успешно, код statusбудет 200и statusTextесть OK:
Результат:
Если запрошенный ресурс не существует, код ответа будет 404:
Результат:
Если запрошенный URL-адрес вызывает ошибку сервера, код ответа будет 500.
Если запрошенный URL-адрес перенаправлен на новый с ответом 300-309, статус объекта Responseбудет установлен на 200. Кроме того, для свойства перенаправления будет установлено значение true.
В fetch()возвращается один , Promiseкто отвергает , когда настоящий провал, например таймаут браузера, сетевое соединение потеряно или нарушение CORS.
Предположим, у вас есть файл, jsonрасположенный на веб-сервере, со следующим содержимым:
И такую HTML-страницу:
В app.js, мы будем использовать метод fetch()для получения пользовательских данных и визуализации данных внутри элемента <div>с классом container.
Сначала объявите функцию, которую getUsers()вы ищете, users.jsonс сервера.
Затем разработайте функцию, renderUsers()которая отображает пользовательские данные:
Результат:
fetch()чтобы вернуть обещание, которое разрешается в объект Response. Чтобы получить актуальные данные, вы вызываете один из методов объекта Response, например, text()или json(). Эти методы разрешены в реальных данных.statusи statusTextобъект, Responseчтобы получить ситуацию и текст ситуации ответа.catch()или инструкцию try...catchдля обработки запроса об ошибке.Ознакомьтесь с серией других руководств по JavaScript, которые я написал, щелкнув ссылку ниже:
Учебники по JavaScriptНа этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.
Цель этой серии блогов — углубиться в библиотеку Lit и получить всестороннее представление о ее уникальных функциях и о том, чем она отличается от других библиотек и фреймворков на рынке. Серия разделена на три части, охватывающие такие темы, как 1.
«Привет, Siri, включи Me Dive Оливии Дин». В мае 2021 года я начал стажировку в Future Academy Africa в Акуре, Нигерия.
Мы часто обнаруживаем, что изо всех сил пытаемся реализовать то, что, как мы знаем, полезно для нас. От того, чтобы сказать значимому другому, что мы любим его, до того, чтобы помнить, что нужно говорить как пират, всегда будут те, кто утверждает, что день, неделя или месяц событий не нужны, потому что они уже делают эти вещи.
На прошлой неделе я заметил пресс-релиз, разосланный через PressGazette (новостной веб-сайт британских СМИ). В статье сообщалось, что Acast, скандинавская компания по размещению и рекламе подкастов, возглавит консорциум «вероятно, самых влиятельных» издателей подкастинга.
В современном взаимосвязанном мире угроза кибератак более распространена, чем когда-либо. Киберпреступники и государственные деятели постоянно стремятся использовать уязвимости и украсть ценные данные, подвергая организации любого размера значительному риску.