Вот список
<select id="secession_NP">
<option value="null">Выберите склад Новой Почты</option>
</select>
Функция, которая делает запрос на api НП а затем добавляет в выпадающий список, список отделений которые находятся в городе Черкассы.
function getBranchesNovaPoshta(sity,lang){
var xhr=new XMLHttpRequest();
console.log(xhr)
var json=JSON.stringify({
"modelName":"AddressGeneral",
"calledMethod":"getWarehouses",
"apiKey":"d878fb1a280844a6629b6a18bd50bc43",
"methodProperties": {
"CityName":sity
},
"Language":lang
});
xhr.open("POST",'http://api.novaposhta.ua/v2.0/json/',true)
xhr.setRequestHeader('Content-type','application/json;charset=utf-8');
xhr.onreadystatechange=function(){
if(xhr.readyState===XMLHttpRequest.DONE&&xhr.status===200){
var res=JSON.parse(xhr.responseText);
var i=0;
for(var i in res.data){
i++;
var option=document.createElement('option');
if(res.data[i]!=undefined){
var type = /приватбанк/i.test(res.data[i].Description)?'PB':'NP';
var number = /[#№]\s*?(\d+)/.test(res.data[i].Description) ? /[#№]\s*?(\d+)/.exec(res.data[i].Description)[1] : 0;
option.value=type+''+number;
option.innerHTML=res.data[i].Description;
document.getElementById('secession_NP').appendChild(option);
}
}
};
};
xhr.send(json);
}
Запуск этого криворукого кода
document.addEventListener('DOMContentLoaded',function(ev){
document.getElementById('secession_NP').onmousedown=function(ev){
getBranchesNovaPoshta("Черкаси","ru");
};
}, false);
В результате ничего не получаю. Список не выводится. Новые opton не добавляются.
При вызове функции через консоль я получаю от сервера нормальный json при клике я получаю пустой json.
what the fuck is this ? Это какой то бред.