получите текст от Веб-сайта в javascript/qml

У меня есть этот Веб-сайт, с которого я хотел бы скопировать текст. Я не знаю много, но похоже, что это использует 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.

2
задан 15 June 2013 в 18:41

1 ответ

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");
        }
    }
}

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

0
ответ дан 15 June 2013 в 18:41

Другие вопросы по тегам:

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