Задать вопрос

Get запрос на чистом js ( работа с api (openweather))?

Всем привет.
я начинающий разработчик,
решил написать Get запрос на чистом js. с помощью api openweather, но столкнулся с проблемой.
вечно вылазит ошибка 401.
// 1. Создаём новый объект XMLHttpRequest
var xhr = new XMLHttpRequest();

// 2. Конфигурируем его: GET-запрос на URL 
xhr.open('GET', 'http://api.openweathermap.org/data/2.5/weather', false);

// 3. Отсылаем запрос
xhr.send({
    "id":"707860", // id города
    "appid":"c4ecaf46d9687ed18d60681ab359b68f", //ключ для погоды
});

// 4. Если код ответа сервера не 200, то это ошибка
if (xhr.status != 200) {
  // обработать ошибку
  alert( xhr.status + ': ' + xhr.statusText ); // пример вывода: 404: Not Found
} else {
  // вывести результат
  console.log( xhr.responseText ); // responseText -- текст ответа.
}

если я правильно понял, то в консоль разработчика должен выпасть объект
с данными о прогнозе города, под данным id.

помогите разобраться почему не работает,
и в чем была ошибка?
спасибо большое!
  • Вопрос задан
  • 5604 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
uiworks
@uiworks
Передавайте параметры через url
http://api.openweathermap.org/data/2.5/weather?id=707860&appid=c4ecaf46d9687ed18d60681ab359b68f

и из send уберите
xhr.send();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BRAGA96
@BRAGA96
var request = new XMLHttpRequest();
request.open('GET', 'https://jsonplaceholder.typicode.com/users', true);

request.onload = function() {
  if (request.status >= 200 && request.status < 400) {
    var data = JSON.parse(request.responseText);
    console.log(data);
  } else {
    // error
  }
};

request.send();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы