15
15

More than 5 years have passed since last update.

[JavaScript] 標準機能のXMLHttpRequestでAjax/HTTP通信(jQuery不使用)

Last updated at Posted at 2015-04-10

jQueryを使わずに、JavaScriptで標準化された XMLHttpRequest を使ってAjax通信する方法まとめ。(外部サーバーにはアクセスできないのでご注意ください。=JavaScriptのクロスドメイン制限)

jQueryを使ったAjax通信についてはQiita内にも記事が多数ありますので、検索してみて下さい。(⇒ 検索結果

yotsuba_s.jpg 同期アクセス

JavaScript
// 同期アクセス
res = ajax("xxx.html");
alert(res);

// Ajax(同期タイプ)
function ajax(url) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", url, false); // true:非同期、false:同期
    xmlHttp.send(null);
    return xmlHttp.responseText;
}

yotsuba_s.jpg 非同期アクセス

JavaScript
// 非同期アクセス
ajax("xxx.html",
    function(res) {
        alert(res);
    }
);

// Ajax(非同期タイプ)
function ajax(url, callback) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            callback(xmlHttp.responseText);
        }
    };
    xmlHttp.open("GET", url, true); // true:非同期、false:同期
    xmlHttp.send(null);
}

※ XMLHttpRequest 2 をサポートするブラウザーでは onreadystatechange の代わりに onload を使うこともできます。

▼デモはこちら
XMLHttpRequest Test|JSFiddle

(・o・ゞ いじょー。

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15