最新のWeb開発のチュートリアル
 

JSON HTTPリクエスト


JSONの一般的な用途は、ウェブページのデータをWebサーバからデータを読み出し、表示することです。

この章では、XMLHTTPを使用して、JSONデータを読み込む方法を、4つの簡単な手順で、お教えします。


JSON例

この例では、メニューを読み込みmyTutorials.txt 、およびWebページにメニューが表示されます。

JSON例

<div id="id01"></div>

<script>
var xmlhttp = new XMLHttpRequest();
var url = "myTutorials.txt";

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var myArr = JSON.parse(xmlhttp.responseText);
        myFunction(myArr);
    }
};
xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(arr) {
    var out = "";
    var i;
    for(i = 0; i < arr.length; i++) {
        out += '<a href="' + arr[i].url + '">' +
        arr[i].display + '</a><br>';
    }
    document.getElementById("id01").innerHTML = out;
}
</script>
»それを自分で試してみてください

例の説明しました

1:オブジェクトの配列を作成します。

宣言するために、 配列リテラルを使用して arrayobjects

各オブジェクトに2つのプロパティを与える: displayurl

配列名myArray

myArray

var myArray = [
{
"display": "JavaScript Tutorial",
"url": "http://www.w3ii.com/js/default.html"
},
{
"display": "HTML Tutorial",
"url": "http://www.w3ii.com/html/default.html"
},
{
"display": "CSS Tutorial",
"url": "http://www.w3ii.com/css/default.html"
}
]

2:配列を表示するには、JavaScript関数を作成します。

関数の作成myFunction()配列オブジェクトをループし、HTMLリンクなどのコンテンツを表示します。

myFunction()

function myFunction(arr) {
    var out = "";
    var i;
    for(i = 0; i < arr.length; i++) {
        out += '<a href="' + arr[i].url + '">' + arr[i].display + '</a><br>';
    }
    document.getElementById("id01").innerHTML = out;
}

呼び出しmyFunction()myArray引数として:

3:テキストファイルを作成します。

名前のファイルに配列リテラルを入れmyTutorials.txt

myTutorials.txt

[
{
"display": "JavaScript Tutorial",
"url": "http://www.w3ii.com/js/default.html"
},
{
"display": "HTML Tutorial",
"url": "http://www.w3ii.com/html/default.html"
},
{
"display": "CSS Tutorial",
"url": "http://www.w3ii.com/css/default.html"
}
]
ファイル»を見てください

4:XMLHttpRequestを持つテキストファイルを読みます

書くXMLHttpRequestテキストファイルを読み、使用することをmyFunction()の配列を表示するには:

XMLHttpRequestの

var xmlhttp = new XMLHttpRequest();
var url = "myTutorials.txt";

xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    var myArr = JSON.parse(xmlhttp.responseText);
    myFunction(myArr);
    }
};

xmlhttp.open("GET", url, true);
xmlhttp.send();
»それを自分で試してみてください