Get запрос по клику на чистом js?

всем привет.
столкнулся с проблемой и не могу найти ошибку.
нужно по клику по выпадающему списку считывать значение и по значению выгружать
с JSON файла список городов.
но почему код не работает, совсем не могу понять. Консоль пустая.
по факту с огромного списка выгружается всего одно название города,
вот HTMl:
<select>
       <option disabled selected>выберите страну</option>
       <option value="NP"NP</option>
       <option value="IN">IN</option>
</select>
        <div id="out"></div>

вот то что я пытался написать на javascript:
var requestURL = 'city.list.json'; //файл json и с информацией который лежит в корне возле index.html
var request = new XMLHttpRequest();
request.open('GET', requestURL);
request.responseType='json';
request.send();
request.onload = function(){
    var CityList = request.response;
    outCity(CityList);
}
function outCity(CityList) {
    var cityName = CityList;
    for (var i=0; i < cityName.length; i++){
        var out = '';
        var section =  document.getElementsByTagName('option');
        var outCity =  document.getElementById('out');
        if (CityList.country == section.values()){
            out +=`<p data="cityName[i].id">cityName[i].id</p>`
        }
        outCity.innerHTML = out
    }
}

а вот как выглядит Json:
{
    "id": 1283378,
    "name": "Gorkhā",
    "country": "NP",
    "coord": {
      "lon": 84.633331,
      "lat": 28
    }
  },
  {
    "id": 1270260,
    "name": "State of Haryāna",
    "country": "IN",
    "coord": {
      "lon": 76,
      "lat": 29
    }
  },


подскажите, как устранить ошибку?
буду очень благодарен за помощь.
  • Вопрос задан
  • 247 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Поставьте console.warn в получение данных, и смотрите, что пришло в консоль браузера
function outCity(CityList) {
console.warn(CityList);
....
}

UPD: Я запустил ваш код, данные приходят в нормальном виде. Проблема в вашей функции outCity.
Что за?
section.values()
как это должно работать?
if (CityList.country == section.values()){
getElementsByTagName возвращает список элементов HTMLCollection, работайте с ним как с массивом. Вот тут читайте https://developer.mozilla.org/ru/docs/Web/API/Elem...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы