ล่าสุดการพัฒนาเว็บบทเรียน
 

JSONร้องขอ HTTP


ร่วมกันใช้ JSON คือการอ่านข้อมูลจากเว็บเซิร์ฟเวอร์และแสดงข้อมูลในหน้าเว็บ

บทนี้จะสอนคุณใน 4 ขั้นตอนง่ายๆวิธีการอ่านข้อมูล JSON ใช้ XMLHttp


ตัวอย่าง JSON

ตัวอย่างนี้อ่านเมนูจาก myTutorials.txt และแสดงเมนูในหน้าเว็บนี้:

ตัวอย่าง 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: สร้างอาร์เรย์ของวัตถุ

ใช้อาร์เรย์ที่แท้จริงที่จะประกาศ array ของ objects

ให้แต่ละวัตถุสองคุณสมบัติ: display และ url

ชื่ออาร์เรย์ 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() ที่ loops วัตถุอาร์เรย์และแสดงเนื้อหาเป็นลิงก์ 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 เป็นอาร์กิวเมนต์:

ตัวอย่าง

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();
ลองตัวเอง»