1. ホーム
  2. javascript

[解決済み] JavaScriptでHTTP GETリクエスト?

2022-03-20 08:17:08

質問

を行う必要があります。 HTTP GET をJavaScriptで実行します。何かいい方法はないでしょうか?

Mac OS X の dashcode ウィジェットでこれを行う必要があります。

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

ブラウザ(およびDashcode)は、JavaScriptからHTTPリクエストを行うために使用できるXMLHttpRequestオブジェクトを提供します。

function httpGet(theUrl)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

しかし、同期的なリクエストは推奨されず、以下のような警告が発生します。

注:Gecko 30.0 (Firefox 30.0 / Thunderbird 30.0 / SeaMonkey 2.27) から。 メインスレッドでの同期リクエストは非推奨となりました。 ユーザーエクスペリエンスに悪影響を及ぼすためです。

非同期リクエストを作成し、イベントハンドラ内でレスポンスを処理する必要があります。

function httpGetAsync(theUrl, callback)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            callback(xmlHttp.responseText);
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous 
    xmlHttp.send(null);
}