как получить данные с сервера js
Ответы
Aleksey
31 марта 2023
Для получения данных с сервера на клиенте (в браузере) существуют встроенные в js методы: XMLHttpRequest
, fetch
.
Покажу самый примитивный и легкий для понимания вариант:
fetch('https://domain.ru/user/1');
Запрос на получение данных о пользователе с id = 1
был отправлен на сервер. Теперь обработаем ответ сервера и получим информацию об этом пользователе:
fetch('https://domain.ru/user/1')
.then(res => {
if (!res.ok) throw new Error(res.status)
teturn res.json();
})
.then((data) => console.log(data))
.catch(err => console.log('Error status code: ' + err.message))
Как это работает:
- Функция
fetch()
используется для выполнения запроса к URLhttps://domain.ru/user/1
. Ответ возвращается какPromise
, который обрабатывается первым методом.then()
. - Первый метод .then() проверяет, является ли ответ
OK
, используя свойствоres.ok
. Если ответ не являетсяOK
, он выбрасывает ошибку со статус-кодом. - К методу res.json() добавляется ключевое слово return, чтобы вернуть JSON-данные как
Promise
. - Второй метод
.then()
получает JSON-данные в качестве параметра и записывает их в консоль с помощью методаconsole.log()
. - Метод
.catch()
используется для обработки любых ошибок, которые могут возникнуть вPromise
, и он записывает сообщение об ошибке со статус-кодом ошибки.
0
0