Запросить JSON от AJAX двумя способами - PullRequest
0 голосов
/ 23 ноября 2018

Я не знаю почему, но когда я запрашиваю JSON таким образом, консольный журнал ничего не печатает:

var xhr = new XMLHttpRequest();

function elenco_studenti() {
    var url = "/controller?action=student_list";
    xhr.responseType = 'text';
    xhr.open("GET", url, true);
    xhr.onreadystatechange = print();
    xhr.send(null);
}
function print(){
    console.log(xhr.responseText);
}

Вместо этого, когда я запрашиваю JSON таким образом, он работает:

$(document).ready(function(){
    $.ajax({
        url: '/controller?action=student_list',
        dataType: 'json',
        success: function (data) {
            console.log(data);
        }
    });
});

Вы можете мне помочь?Большое спасибо.

1 Ответ

0 голосов
/ 23 ноября 2018

Назначьте ссылку на функцию вместо вызова функции

xhr.onreadystatechange = print();

для

xhr.onreadystatechange = print;

и дождитесь готовности фактического ответа

function print() {
  if(xhr.readyState === 4 && xhr.status === 200) {
     console.log(xhr.responseText);
   }
}

ссылкадо документов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...