Воспроизводимый пример в QML:

main.cpp

#include {amp}lt;QSsl{amp}gt; 

main.qml

 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.0 Window { visible: true width: 640 height: 480 Component.onCompleted: getPage(logResults) function logResults(results) { console.log("RESULTS: "   results) } function getPage(callback) { var xhttp = new XMLHttpRequest(); var url = "https://www.google.com/" xhttp.onreadystatechange = function() { if (xhttp.readyState === 4 {amp}amp;{amp}amp; xhttp.status === 200) { console.log("calling callback") callback(xhttp.responseText) } }; xhttp.open("GET", url); xhttp.send(); } } 

Вывод получаю:

 qml: calling callback 

Выходной я ожидаю:

 qml: calling callback qml: RESULTS: {amp}lt;the HTML located at https://www.google.com/{amp}gt; 

xhttp.responseText не является пустым или неопределенным, на самом деле console.log() выдает ошибок. Переформатируйте код так:

  xhttp.onreadystatechange = function() { if (xhttp.readyState === 4 {amp}amp;{amp}amp; xhttp.status === 200) { console.log("Am I alive?") console.log("response text: "   xhttp.responseText) console.log("I am alive") } }; 

тогда я получаю вывод:

 qml: Am I alive? qml: I am alive 

Почему XMLHttpRequest responseText не существует? Почему он убивает console.log (), а не выбрасывает undefined или какую-либо другую ошибку? Есть ли лучший способ очистить HTML с этой веб-страницы?