Вы, кажется, не знакомы с асинхронной природой вызова AJAX.Вы не можете просто опубликовать AJAX-вызов, а затем ожидать, что объект XMLHttpRequest
будет иметь все это.Вам необходимо определить функцию обратного вызова для события onreadystatechange
, в котором должны выполняться все действия.
const url =
"https://nominatim.openstreetmap.org/reverse?format=json&lat=12.93&lon=80.17&zoom=18&addressdetails=1";
const req = new XMLHttpRequest();
req.responseType = "json";
req.open("GET", url, true);
req.send();
req.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var jsonResponse = this.response;
var newElement2 = document.createElement("div");
newElement2.innerHTML = jsonResponse.address.country;
document.body.appendChild(newElement2);
}
}
Кстати: есть более современные подходы к AJAX вызовам, чем к старому XMLHttpRequest, а именно fetch()