1. ホーム
  2. ジャバスクリプト

[解決済み】XMLHttpRequestの応答を取得する方法は?

2022-04-07 18:06:01

質問

XMLHttpRequestを使ってリモートURLのコンテンツを読み込み、アクセスしたサイトのHTMLをJS変数に格納させる方法を知りたいです。

のHTMLを読み込んでalert()したい場合、次のようにします。 http://foo.com/bar.php どうすればいいのでしょうか?

どのように解決するのですか?

で入手することができます。 XMLHttpRequest.responseText において XMLHttpRequest.onreadystatechange XMLHttpRequest.readyState と同じです。 XMLHttpRequest.DONE .

以下はその例です(IE6/7には非対応)。

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == XMLHttpRequest.DONE) {
        alert(xhr.responseText);
    }
}
xhr.open('GET', 'http://example.com', true);
xhr.send(null);

IE6/7 だけでなくクロスブラウザの互換性を高め、ブラウザ固有のメモリリークやバグをカバーし、さらに ajax リクエストを冗長にしないためには、次のようにします。 jQuery .

$.get('http://example.com', function(responseText) {
    alert(responseText);
});

を取る必要があることに注意してください。 JavaScriptの同一生成元ポリシー を考慮に入れてください。あなたのドメインでプロキシスクリプトを作成することを検討するとよいでしょう。