web-dev-qa-db-ja.com

javascript / qmlのWebサイトからテキストを取得する

テキストをコピーしたいこのWebサイトがあります。私はあまり知りませんが、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(string)関数を書くことです。 javascript/qmlでそれを行うにはどうすればよいですか? XMLHttpRequestについて何か見ましたが、理解できません。

希望するテキストの例を次に示します。 http://feed.evangelizo.org/reader.php?date=20130616&type=liturgic_t&lang=AM&content=GSP

答えを知ってくれてありがとう。これは、Ubuntu touchアプリを完成させるための最後の欠品です。

2
londumas

XMLHttpRequest は、間違いなくこの問題を解決する方法の1つです。ここに私の簡単なサンプル:

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

非同期リクエストを処理する場合、すぐに結果が得られないことに注意してください。

1
user9440008