Files
obsidian/Веб/Клиент-сервер/Fetch API.md
T
roma-dxunvrs 12a473f46e
deploy / Pull and Restart (push) Successful in 17s
web update
2026-10-04 19:57:51 +03:00

40 lines
1.3 KiB
Markdown

- Современный стандарт на замену [XMLHTTPRequest](XMLHTTPRequest.md)
- Поддерживается всеми современными браузерами
- Работает на промисах
## Пример кода
Чуть чуть было написано в [ECMAScript](../Фронтенд/ECMAScript.md)
```JavaScript
async function getData() {
const url = "https://example.org/products.json";
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`{response.status}`);
}
const json = await response.json();
console.log(json);
} catch (error) {
console.error(error.message);
}
}
```
Отправление данных через POST
```JavaScript
async function checkPoint(x, y, r) {
const pointData = {x: x, y: y, r: r};
const response = await fetch("/api/check", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(pointData)
});
const res = await response.json();
console.log(res.hit);
}
```
## Как работает
- Получение данных работает в два этапа: асинхронное получение ответа, затем асинхронное получение тела (данные могут быть большими и передаться потоком - Stream)