@tarthur

Как получить данные JSON?

Есть такой country.io/names.json
Как получить эти данные на чистом JS?
  • Вопрос задан
  • 4586 просмотров
Пригласить эксперта
Ответы на вопрос 4
На чистом JS - у браузеров уже давно есть fetch api:

fetch('http://country.io/names.json')
  .then(r => r.json())
  .then(names => console.log('Names arrived!', names)


Узнать больше можно из документации:

Ну и про CORS не забывайте - если сервер не вернет эти заголовки, то запрос на другой домен не пройдет.
Ответ написан
Комментировать
EreminD
@EreminD
Кое-что умею
На чистом JS вот так
сам адрес, куда стучаться, у вас есть
var names = {} //тут у нас будет результат
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://country.io/names.json', false);
xhr.send();
if (xhr.status != 200) {
  // обработать ошибку
  alert( xhr.status + ': ' + xhr.statusText ); // пример вывода: 404: Not Found
} else {
  // вывести результат
  names = xhr.responseText;
}
Ответ написан
Akdmeh
@Akdmeh
PHP, Yii2, Music
Ответ написан
Комментировать
@holymotion
У вас скорее всего ошибка CORS, и сервер не возвращает заголовок Access-Control-Allow-Origin: *. Если вам не нужно отправлять каких-то заголовков на сервер попробуйте использовать jsonp. https://www.npmjs.com/package/fetch-jsonp - может подойдет на реакте
https://learn.javascript.ru/ajax-jsonp - js
Ответ написан
Ваш ответ на вопрос

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

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