-6

私はJavaとJavaScriptが初めてで、HTTPResponseを取得し、必要なプロパティを取得するためにメソッド.responseTextを使用して解析し.indexOf、その後、作成したテーブル行のセルにこの値を表示する方法を探していましたhtml ページ。を取得するたびにこのセルを置き換える方法はありhttpresponseますか?

どうもありがとう。

var xHRObject = new XMLHttpRequest();
var url = "http://meteovarkiza.gr/";
xHRObject.open("GET", url, true);
xHRObject.send();
xHRObject.onreadystatechange = function () {
if (xHRObject.readyState==4 && xHRObject.status==200) {
    var response = xHRObject.responseText;
    var startIndex = response.indexOf("Temperature");
    startIndex += 70;
    var subResponse = response.slice(startIndex, startIndex + 4);                
            alert(subResponse);
    }
}
4

1 に答える 1

1

「この値を取るオブジェクトを作成しようとしましたが、その後、html テーブルに表示できません。」

あなたの質問はあまり明確ではありませんが、応答テキストからsubResponse変数に必要な特定の値を正常に取得していると言っているようですが、その値を特定の要素に入れる方法がわかりませんあなたのページ。

もしそうなら、最も簡単な方法はその要素に を与えることですid:

<td id="resultCell"></td>

そして、JSでこれを行います:

document.getElementById("resultCell").innerHTML = subResponse;

あなたの質問のタイトルであなたは言った:

「http 応答を文字列として解析する方法は?」

...しかし、あなたはそれを理解したようです。応答形式を制御できない場合は、正規表現のトリックおよび/または.indexOf()および.slice()(または.substr()、この場合は常に4文字を指定するため、より良いかもしれません)の組み合わせがそれを行う方法だと思います.

応答の形式を設定できる場合は、JSON 文字列を返す方がおそらくはるかに優れています。これはJSON.parse()、直接アクセス可能なプロパティを持つオブジェクトを取得するために使用できるためです。文字列操作をいじる必要はもうありません。

于 2012-11-26T02:52:41.230 に答える