villiwalla
@villiwalla
HTML-верстка

Почему данные полученные через $.post не присваиваются переменной?

С сервера приходит json, как страница готова идёт $.post.

$(document).ready(function() {
         var charts;
            
         $.post(location.href, {}, function(data){ 
             charts = data; 
             return charts;
         }, 'json');
         
         console.log(charts);
});


В charts undefined, почему и как туда передать данные из data?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
$.post(location.href, {}, function(data){ 
             charts = data; 
             return charts;
}, 'json');


Это работает асинхронно. Следовательно, в момент выполнения console.log(charts); ответ еще может не прийти. И получаете undefined.

Производите операции с полученными данными внутри коллбека.

$.post(location.href, {}, function(data){ 
             console.log(data)
             doSomething(data)
}, 'json');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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