У меня есть этот Веб-сайт, с которого я хотел бы скопировать текст. Я не знаю много, но похоже, что это использует php (вот сайт: http://feed.evangelizo.org/reader.php), Таким образом, я хотел бы записать fuction, который возвратит текст в сайте.
что-то вроде этого:
function example() {
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
if (day < 10) day = '0'+day;
if (month < 10) month = '0'+month;
var httpWeb = "http://feed.evangelizo.org/reader.php?date=" + year + month + day + "&type=reading&lang=FR&content=GSP";
return getText(httpWeb);
}
Вещь состоит в том, чтобы записать этот getText (строка) функция. Как я могу сделать это в javascript/qml? Я видел что-то о XMLHttpRequest, но я не понимаю это.
Вот пример текста, который я хотел бы: http://feed.evangelizo.org/reader.php?date=20130616&type=liturgic_t&lang=AM&content=GSP
Спасибо, если Вы знаете ответ. Это - последняя часть, отсутствующая для окончания моего сенсорного приложения Ubuntu.
XMLHttpRequest определенно является одним из способов решения этой проблемы. Вот мой быстрый пример:
import QtQuick 2.0
Rectangle {
width: 360
height: 360
function setText(url) {
var doc = new XMLHttpRequest();
doc.onreadystatechange = function() {
if (doc.readyState == XMLHttpRequest.DONE) {
mainText.text = doc.responseText;
}
}
doc.open("get", url);
doc.setRequestHeader("Content-Encoding", "UTF-8");
doc.send();
}
Text {
id: mainText
anchors.centerIn: parent
text: "Click Me";
}
MouseArea {
anchors.fill: parent
onClicked: {
setText("http://feed.evangelizo.org/reader.php?date=20130616&type=liturgic_t&lang=AM&content=GSP");
}
}
}
При работе с асинхронными запросами вы должны помнить, что вы не получите результаты мгновенно.