@@ -0,0 +1,40 @@
|
||||
- Современный стандарт на замену [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)
|
||||
Reference in New Issue
Block a user