• Содержимое ответа

    Fetch API— современный интерфейс в JavaScript для выполнения HTTP-запросов и обработки ответов. Он заменяет устаревший XMLHttpRequest и предоставляет более простой и гибкий способ работы с сетевыми запросами.developer.mozilla.orglearnjs.rusky.pro

    Базовый синтаксис

    Функция
    fetch()
    имеет следующий синтаксис:
    const promise = fetch(url, [options]);
    • url— обязательный параметр, строка с адресом ресурса, к которому отправляется запрос.
    • options— необязательный объект, позволяющий настроить запрос: указать HTTP-метод, заголовки, тело запроса и другие параметры.
    Если
    options
    не указан,
    fetch()
    автоматически выполняет простой GET-запрос — скачивает содержимое по указанному адресу.skillbox.ru

    Пример GET-запроса

    fetch('http://test.test') .then(response => { // Проверка успешности ответа if (!response.ok) { throw new Error(`Ошибка HTTP: ${response.status}`); } return response.json(); // Преобразование ответа в JSON }) .then(data => console.log(data)) .catch(error => console.error('Ошибка:', error));

    Дополнительные параметры
    options

    Некоторые возможности настройки запроса:
    • method— HTTP-метод (GET, POST, PUT, DELETE и т. д.).
    • headers— объект с заголовками запроса (например, можно указать тип содержимого или токен аутентификации).
    • body— тело запроса. Обычно используется в запросах типа POST или PUT для отправки данных на сервер. Может быть строкой (например, в формате JSON), объектом FormData, Blob, BufferSource или URLSearchParams.
    Пример POST-запроса с JSON-данными:
    const newUser = { name: 'John Doe', email: 'redacted@example.com' }; fetch('http://test.test', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(newUser), });

    Обработка ответов

    Когда метод
    fetch()
    выполняется, он возвращает промис, который разрешается в объект
    Response
    , представляющий HTTP-ответ. У объекта
    Response
    есть методы для обработки полученных данных:
    • response.json()
      — преобразует ответ в JSON-объект;
    • response.text()
      — получает ответ в виде текста;
    • response.blob()
      — работает с бинарными данными (изображения, файлы);
    • response.formData()
      — получает ответ в виде объекта FormData;
    • response.arrayBuffer()
      — получает низкоуровневое представление данных.
    Эти методы также возвращают промис, поэтому требуется дополнительная обработка через
    .then()
    или
    await
    .sky.pro

    Обработка ошибок

    При использовании
    fetch()
    могут возникать разные ошибки: серверная ошибка (500), ошибка «не найдено» (404), сетевая ошибка, ошибка CORS и т. д..dev.to
    Некоторые способы обработки ошибок:
    • Проверка статуса ответа.Можно использовать свойство
      response.ok
      , чтобы определить, был ли запрос успешным (будет
      true
      , если код статуса находится в диапазоне 200–299).dev.to
    • Использование
      try/catch
      .
      Вызов
      fetch()
      можно обернуть в блок
      try/catch
      для обработки ошибок.dev.to
    • Проверка CORS-настроек.Если запрос идёт к внешнему домену, убедитесь, что сервер разрешает его с соответствующими заголовками CORS.skillbox.rutrackjs.com

    Дополнительные возможности

    • Потоковая обработка данных.Можно работать с данными по мере их поступления.
    • Настройка кеширования и режима CORSчерез объект
      options
      .
    Fetch API поддерживается всеми современными браузерами.learn.javascript.ru
    Алиса старается, но может ошибаться — проверяйте важное.Подробнее

    15 источников

  • TheFetchAPI provides aJavaScriptinterface for making HTTP requests and processing the responses....To make a request, callfetch(), passing in: a definition of the resourcetofetch. This can be any one of: a string containing the URL.
  • Методfetch() — современный и очень мощный, поэтому начнём с него. Он не поддерживается старыми (можно использовать полифил), но поддерживается всеми современными браузерами. Базовый синтаксис: let promise =fetch(url, [options]).
  • Полное руководство поfetch() вJavaScript: разбираем синтаксис, делаем GET и POST запросы, работаем с промисами через .then() и async/await, обрабатываем JSON и ошибки. Простое объяснение с примерами кода и проектом галереи.
  • Howdo I handle errors inFetch? I check if the response is successful using response.ok. If it’s not, I throw an error, which is then caught in the .catch() block or try/catch statement in async functions....So,howwill you use theFetchAPIinJavaScriptin your next project?
  • HowFetchAPI Works? A request is sent to the specified URL. The server processes the request and sends a response. The response is converted to JSON (or another format) using .json(). Errors are handled using .catch() or try-catch blocks.
  • Thefetch() requires only one parameter which is the URL of the resource that you wanttofetch:fetch(url);Code language:JavaScript(javascript). Thefetch() method returns a Promise so you can use the then() and catch() methods to handle it
  • С помощью функцииfetch() можно отправлять сетевые запросы на сервер — как получать, так и отправлять данные. Метод возвращает промис с объектом ответа, где находится дополнительная информация (статус ответа, заголовки) и ответ на запрос.
  • Что такоеFetchAPI и почему он заменил XMLHttpRequest.FetchAPI представляет собой современныйJavaScript-интерфейс для выполнения HTTP-запросов, который построен на Promise-архитектуре.
  • You're going to learnhowtocreate GET, POST, PUT/PATCH, and DELETE requests using theFetchAPI. To get the most out of this article, you need to have a good understanding ofJavaScriptpromises. You can read myJavaScriptPromises article if you need a refresher.
  • For example, if we’re building a to-do list app, we needtofetchand display tasks on the front end. UsingJavaScript, we can target an unordered list (ul) in our HTML and populate it dynamically with thefetcheddata. Here’showwe can set up the HTML structure
  • Промо
    Сайт специализируется на продаже товаров
    Изучаем программирование наJavaScript/ книги по языкам программированияРейтинги товаров. Кешбэк от Яндекс.Плюс. Скидки и акции. Честные

Дополнительная информация о запросе

Некоторые ссылки отсутствуют в результатах поиска в силу требований применимого законодательства.Подробнее
{"2_9r06":{"state":{"form":{"action":"/search/","logo":{"href":"http://test.test","size":44},"searchLabel":"Найти","hiddenInputs":[{"name":"lr","value":177}],"inputMaxLength":4000},"actions":{"marketCart":{"url":"http://test.test","goodsCount":0,"ariaLabel":"Маркет"},"mic":{"speechKitSettings":{"apiKey":"effd5a3f-fd42-4a18-83a1-61766a6d0924","appId":"serp.desktop","uuid":"00000000000002642779431641495997","uniproxyUrl":"wss:http://test.test","lang":"ru-RU","isAliceASR":true}},"advancedSearch":{"checked":false,"ariaLabel":"Расширенный поиск"},"moreButtonProps":{"ariaLabel":"Ещё"},"favorites":{"ariaLabel":"Избранное","iframeUrl":"http://test.test"},"weatherInformer":{"iconUrl":"http://test.test","temperature":17,"url":"http://test.test","showSkeleton":true},"ecomOrders":{"url":"http://test.test","ariaLabel":"Заказы"},"cbir":{"name":"cbir","label":"Поиск по картинке","infoUrl":"http://test.test","isMacOS":false,"isLoggedIn":true}},"user":{"loggedIn":true,"ariaLabel":"Меню","plus":false,"birthdayHat":false,"child":false,"avatarId":"0/0-0","dialogProps":{"host":"ya.ru","platform":"desktop","queryParams":{"utm_source":"search","preset":"oceania","exp_flags":"feedback,skin"},"project":"serp","lang":"ru","tld":"ru"},"unreadLetters":112},"navigation":{"tabs":[{"id":"www","label":"Поиск","url":"http://test.test","params":{"source":"tabbar"},"target":""},{"id":"alice_chat","label":"Алиса AI","url":"http://test.test","params":{"reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","utm_source":"yandex","utm_campaign":"serp_alicetab_chat","utm_medium":"interface","alice_deeplink":"[$aliceDeeplink]","source_query":"[$query]","theme":"serp"},"target":"_self"},{"id":"images","label":"Картинки","url":"http://test.test","params":{"text":"[$query]","site":"[$site]","noreask":"[$noreask]","nomisspell":"[$nomisspell]","parent-reqid":"[$reqid]","from":"tabbar"}},{"id":"video","label":"Видео","url":"http://test.test","params":{"text":"[$query]","site":"[$site]","noreask":"[$noreask]","parent-reqid":"[$reqid]","from":"tabbar"}},{"id":"maps","label":"Карты","url":"http://test.test","params":{"text":"[$query]","source":"serp_navig"}},{"id":"finance","label":"Финансы","url":"http://test.test","params":{"lr":"[$lr]","from":"tabbar"}},{"id":"realty","label":"Квартиры","url":"http://test.test","params":{"lr":"[$lr]","from":"tabbar"}},{"id":"translate","label":"Переводчик","url":"http://test.test","params":{"text":"[$query]","from":"tabbar"}},{"id":"all","label":"Все","url":"http://test.test","params":{"text":"[$query]","from":"tabbar"}}],"loading":false,"alwaysVisibleTabs":2,"skeletonsCount":7,"hasSearchNeuroTab":false,"isEmbeddedPromoAdv":false},"context":{"query":"openserp","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","lr":"177","aliceDeeplink":"{\"text\":\"openserp\"}","isAliceProUser":false,"isPlusUser":false,"avatarId":"0/0-0","isAnyYaBro":false,"selectedTabId":"www","counters":{"type":"b","data":{"$header":"0_a3stz000","logo":"0_a3stz001","advanced-search":"0_a3stz002","username_menu":"0_a3stz003","user-account":"0_a3stz004","market-cart":"0_a3stz006","voice-search":"0_a3stz007","more-button":"0_a3stz008","cbir":"0_a3stz009","clear":"0_a3stz00a","submit":"0_a3stz00b","alice":"0_a3stz00c","favorites":"0_a3stz00d","weather-informer":"0_a3stz00e","ecom-orders":"0_a3stz00f","$navigation":"0_a3stz00g","item":"0_a3stz00x","tab-www":"0_a3stz00i","tab-alice_chat":"0_a3stz00k","tab-images":"0_a3stz00m","tab-video":"0_a3stz00o","tab-maps":"0_a3stz00q","tab-finance":"0_a3stz00s","tab-realty":"0_a3stz00u","tab-translate":"0_a3stz00w","tab-all":"0_a3stz00y"}}},"loggedIn":true,"mix":{"outerContainer":[]},"baobab":{"parentNode":{"context":{"genInfo":{"prefix":"0_a3stw01-0-1"},"ui":"desktop","service":"web","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","fast":{"name":"header-desktop"}}}}},"type":"header-desktop"},"2_a3st0":{"state":{"advAjax":{"subtype":"premium_ajax","testing":false},"context":{"bids":""},"limit":2,"debug":{"fakeRequests":false,"logRequest":false,"logBids":false},"noFirstBids":false,"baobab":{"parentNode":{"context":{"genInfo":{"prefix":"2_a3stw0b-0-1"},"ui":"desktop","service":"web","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","fast":{"name":"adv","subtype":"return"}}}}},"type":"adv","subtype":"return"},"2_a3st1":{"state":{"src":"http://test.test","blockId":"R-I-19113121-1","rawGrab":"openserp","subtype":"rsya_guarantee","nonceId":"jn9VlPSKNE9+fJBQalHMeQ==","needOwnResult":true,"needSendLayoutCoords":true,"isAjax":false,"extParams":{"reqId":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL"},"initStrategy":"mediaquery","baobab":{"parentNode":{"context":{"genInfo":{"prefix":"2_a3stw0d-0-1"},"ui":"desktop","service":"web","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","fast":{"name":"adv","subtype":"rsya_guarantee"}}}}},"type":"adv","subtype":"rsya_guarantee"},"2_a3st2":{"state":{"bkShowCounter":"http://test.test","bkClickCounter":"http://test.test","bkCloseCounter":"http://test.test","bannerId":"72057611728740454:2894763930192971439","distributionFormatId":3278,"buttonYes":"Установить","buttonNo":"Нет","buttonNoA11yFallback":"Нет","buttonYesA11yFallback":"Установить","extensionsPrefixChannel":"6102","motley":"white-old","location":"bottom","animation":"bounce","product":"set","popupType":"landing","ageRestriction":"","title":"","text":"Настройте доступ к поиску и сервисам Яндекса, установив расширение","layout":"system_narrow_button","curtain":{"type":"landing","product":"set","link":"http://test.test","paas":"null","service":"search"},"isCross":false,"isCrossOnly":false,"hasShadow":false,"isSeparateAgeRestriction":false,"hideOnPopups":true,"iconSource":"http://test.test","metrikaCounter":"Сделать Яндекс поиском по умолчанию? ","scope":"page","isButtonRed":false,"baobab":{"parentNode":{"context":{"genInfo":{"prefix":"2_a3stw0e-0-1"},"ui":"desktop","service":"web","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL"}}}},"type":"distribution","subtype":"popup-desktop-system-narrow"},"2_a3st3":{"state":{"linksGroups":[{"type":"geo","links":[{"label":"Берлин","title":"Берлин","url":"http://test.test","logNode":{"name":"region"},"target":"_self","a11yLabel":"Ваш регион Берлин","needRetpath":true}]},{"type":"searchengines","links":[{"label":"Google","url":"http://test.test","logNode":{"name":"link","attrs":{"type":"google"}},"target":"_blank"},{"label":"Bing","url":"http://test.test","logNode":{"name":"link","attrs":{"type":"bing"}},"target":"_blank"}]},{"type":"feedback","links":[{"label":"Сообщить об ошибке","role":"button","logNode":{"name":"feedback","attrs":{"behaviour":{"type":"dynamic"}}}}]},{"type":"settings","links":[{"label":"Настройки","url":"http://test.test","logNode":{"name":"settings"},"target":"_self","needRetpath":true}]},{"type":"morda","links":[{"label":"ya.ru","url":"http://test.test","logNode":{"name":"morda"},"target":"_self"}]},{"type":"company","links":[{"label":"О компании","url":"http://test.test","logNode":{"name":"about"},"target":"_blank"},{"label":"Коммерческие предложения","url":"/search/direct?text=openserp&filters_docs=direct_cm","logNode":{"name":"commercial"},"target":"_blank"},{"label":"Вакансии","url":"http://test.test","logNode":{"name":"vacancy"},"target":"_blank"},{"label":"Лицензия на использование","url":"http://test.test","logNode":{"name":"license"},"target":"_blank"},{"label":"Политика конфиденциальности","url":"http://test.test","logNode":{"name":"confidential"},"target":"_blank"},{"label":"Правила рекомендаций","url":"http://test.test","logNode":{"name":"recommendations"},"target":"_blank"}],"a11yHidden":true}],"reportFeedbackProps":{"feature":"Подвал","title":"Сообщить об ошибке","checkBoxLabels":[]},"isSearchApp":false,"feedbackLabel":"Обратная связь","hasExtralinks":true,"baobab":{"parentNode":{"context":{"genInfo":{"prefix":"2_a3stw0f-0-1"},"ui":"desktop","service":"web","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL"}}}},"type":"serp-footer"},"2_a3st4":{"state":{"conditionLoadList":{"marketCart":false,"musicPlayer":false,"sonataMusicPlayer":false,"ecomRates":false,"photoViewer":false,"easterEggPhaser":false,"easterEggModal":false,"easterEggPlusGamesModal":false,"futurisFeedbackLoader":false,"futurisFootnoteDetails":false,"videoViewerLoader":false,"audioPlayer":false,"goodplace":false,"easterEggWatermelonModal":false,"easterEggIframeModal":false,"iframeTune":true,"feedbackSurveys":false},"reportFeedbackBaseProps":{"initEmail":"redacted@example.com","metaFields":{"userAgent":"Mozilla/5.0 (Windows 11; Windows NT 19; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.179 Chrome/148.0.7778.179 Safari/537.36","userTestids":"1543013,1568020,1576347,1574425,1568987,1217762,945524,950035,1291225,956122,1288685,1556446,1564783,1560632,1548181,1569748,1575753,1563661,1499636,1539906,1539736,1572872,1332937,1556173,1550188,1576263,1579239,1570994,1576093,1569215,1575865,1577508,1575110,1577027,1339938,1570951,1562504,1571967,1563514,1562991,1572414,1568022,1574133,1576377,1579533,1568656,1491706,1567572,1571100,1579392,1576312,1535488,1575891,1577207,1573246,1572916,1282204,1579388,1571846,1284440,1568668,1544079,1519628,1578609,1568039,1565563,1566336,1566694,1570548,1572069,1560941,1577167,1573628,188944,123856,1575119,1568218,1565089,1574470,1577862,1566040,1557887,1568942,901025,259953,1183837,1570659,151171,1556385,1578368,1568797,1507035,1281084,186144,287509,338390,1563357,1566891,1568062,1478434,1486066,1577339,1572330,1563475,1576717,1576600,1567178,1575873,1577082,790811,1493787,1543645,938284,1531026,1567032,1457404,1566600,1201167,1560513,1558281,1566742,1508298,1576438,1571623,1547314,1573811,1579204","queryText":"openserp","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","userRegionName":"REDACTED","userRegionId":"43","userCountryName":"Germany","yandexuid":"2642779431641495997","uid":"0","isChildAccount":false,"login":"redacted@example.com","staff":false,"familySearchMode":"Умеренный фильтр","searchSlicesV2":["drawer_search_slice_v2_games"],"pageUrl":"http://test.test"}},"musicApiLoaderProps":{},"sonataMusicPlayerProps":{},"iframeTuneLoaderProps":{"initialSrc":"http://test.test","isIOS":false},"easterEggWatermelonModalProps":{"baseDomain":"ya.ru"},"easterEggIframeModalProps":{"baseDomain":"ya.ru"},"isHermione":false,"retina":false,"isLoggedIn":true,"baobab":{"parentNode":{"context":{"genInfo":{"prefix":"2_a3stw0g-0-1"},"ui":"desktop","service":"web","reqid":"1779909847850246-11459135466750174722-balancer-l7leveler-kubr-yp-klg-308-BAL","fast":{"name":"lazy-load"}}}}},"type":"lazy-load"}}
Загрузилась выдача по запросу: how to fetch in javascript