Fetch API
Базовая поддержка Широко доступна *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Web Workers.
Fetch API предоставляет интерфейс для получения ресурсов (включая ресурсы по сети). Это более мощная и гибкая замена для XMLHttpRequest.
Основные понятия и использование
Fetch API использует объекты Request и Response (и другие компоненты, связанные с сетевыми запросами), а также такие связанные понятия, как CORS и семантика заголовка HTTP Origin.
Для выполнения запроса и получения ресурса используйте метод fetch(). Это глобальный метод как в контексте Window, так и в контексте Worker. Это делает его доступным практически в любом контексте, где требуется получить ресурсы.
Метод fetch() принимает один обязательный аргумент — путь к ресурсу, который нужно получить. Он возвращает Promise, который разрешается в Response для этого запроса — как только сервер отвечает заголовками — даже если ответ сервера имеет статус HTTP-ошибки. Вы также можете необязательно передать объект init в качестве второго аргумента (см. Request).
После получения Response доступно множество методов для определения содержимого тела и способов его обработки.
Вы можете создать запрос и ответ напрямую с помощью конструкторов Request() и Response(), но это редко делается напрямую. Скорее всего, они создаются в результате действий других API (например, FetchEvent.respondWith() из рабочих процессов).
Дополнительную информацию об использовании функций Fetch API можно найти в разделе Использование Fetch.
Интерфейсы Fetch
-
Window.fetch()иWorkerGlobalScope.fetch() -
Метод
fetch()используется для получения ресурса. Headers-
Представляет заголовки ответа/запроса, позволяя их анализировать и принимать разные действия в зависимости от результатов.
Request-
Представляет запрос на ресурс.
Response-
Представляет ответ на запрос.
Спецификации
| Спецификация |
|---|
| Fetch # fetch-method |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Fetch_API |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
authorization_removed_cross_origin |
Нет | Нет | 111 | Нет | 16.1 | Нет | 111 | Нет | 16.1 | Нет | Нет |
blob_data_support |
48 | 79 | 39 | 35 | 10.1 | 48 | 39 | 35 | 10.3 | 5.0 | 43 |
body_readablestream |
105 | 105 | Нет | 91 | Нет | 105 | Нет | 72 | Нет | 20.0 | 105 |
init_attributionReporting_parameter |
125 | 125 | Нет | 111 | Нет | 125 | Нет | 83 | Нет | 27.0 | 125 |
init_browsingTopics_parameter |
115 | 115 | Нет | 101 | Нет | 115 | Нет | 77 | Нет | 23.0 | 115 |
init_duplex_parameter |
105 | 105 | Нет | 91 | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
init_keepalive_parameter |
66 | 15 | 133 | 53 | 13 | 66 | 133 | 47 | 13 | 9.0 | 66 |
init_priority_parameter |
101 | 101 | Нет | 87 | 17.2 | 101 | Нет | 70 | 17.2 | 19.0 | 101 |
init_referrerPolicy_parameter |
52 | 79 | 52 | 39 | 11.1 | 52 | 52 | 41 | Нет | 6.0 | 52 |
init_signal_parameter |
66 | 16 | 57 | 53 | 11.1 | 66 | 57 | 47 | 11.3 | 9.0 | 66 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API