@Rapen

Не переводится json, где тут ошибка,плз?

Json файл в обьект не переводит почему?
function ajax_get(url) {
    xmlhttp = new XMLHttpRequest();
			 xmlhttp.open("GET", url, true);
    xmlhttp.onload = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var data = JSON.parse(xmlhttp.responseText);
            
                return data;
      
        }
    };
 
    
    xmlhttp.send();
}
  • Вопрос задан
  • 357 просмотров
Решения вопроса 2
Stalker_RED
@Stalker_RED
Вы не учитываете, что ajax запрос асинхронный. Тот кусок кода, который, помечен желтым выполнится только ПОСЛЕ ответа с сервера. И return возвращает значение вникуда. Вам может помочь callback, промисы, или перенос вашей логики прямо в onload, но это довольно плохая идея.

luZOxfM.png
Демка: https://jsfiddle.net/0sf9otov/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
где тут ошибка,плз

В консоле?

Наверняка вам нужен callback

А именно:

function ajax_get(url, callback) {
    xmlhttp = new XMLHttpRequest();
       xmlhttp.open("GET", url, true);
    xmlhttp.onload = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var data = JSON.parse(xmlhttp.responseText);
     
                return callback(data);
      
        }
    };
 
    
 xmlhttp.send();
}


И вызывать соответственно:

ajax_get(url, function(data) {
   var myData = data
  // че-нибудь делаем
})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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