จากชื่อเต็มของมัน จะสังเกตว่ามีคีย์เวิร์ด 2 ตัวคือ
- (Asynchronous) JavaScript
- XML
คือ การใช้ JavaScript แบบ Asynchronous (แบบคำสั่งไม่เป็นลำดับขั้นหรือไม่ sync. กันนั่นแหละ) และใช้ XML ด้วยAsynchronous JavaScript
ปกติเราเขียนโปรแกรม ลำดับการทำงานเราจะทำงานจากบรรทัดบนสุดลงไปล่างเรื่อยๆ (เรียกว่า Synchronous) แต่สำหรับภาษา JavaScript นี้ การทำให้มันแสดงความสามารถออกมาได้สุดๆ นั่นเขาจะเขียนกันแบบ (เรียกว่า Asynchronous) คือเตรียม function ตัวนี้ๆ ไว้แล้วบอกว่าถ้าเราทำ Event เสร็จแล้ว (ไม่รู้ว่ามันจะเสร็จตอนไหน) ให้รัน function ตัวที่เตรียมไว้ให้เมื่อกี้ด้วยนะ อย่าลืมล่ะ
ตัวอย่างเช่น ไม่รู้นะว่าจะกลับมาถึงเมื่อไหร่ แต่เมื่อกลับมาถึงเดี๋ยวผู้ช่วยก็จะส่งข้อมูลให้มันเองเราถือว่าเราไม่รู้ว่าเจ้าผู้ช่วยนั่นน่ะ มันจะไปเอาของกลับมาเมื่อไหร่ แต่บอกมันไว้ว่าถ้ามันวิ่งไปเอาของเสร็จแล้วกลับมาถึงแล้ว เอาของนั้น ปะลงไปในหน้าเพจเลยนะ
XML …แต่ตอนนี้เขาใช้ JSON กันแล้ว
เราบอกว่าให้ผู้ช่วยวิ่งไปเอาข้อมูลจากบ้าน Server กลับมา ในเชิงคอมพิวเตอร์เราต้องการการส่งข้อมูลที่มี Format XML เป็นรูปแบบที่เขาใช้กันในยุคแรกๆ เวลาส่งข้อมูลกันผ่านเน็ตเวิร์ก แต่ตอนนี้เว็บส่วนใหญ่เปลี่ยนไปใช้ JSON Format กันแทนแล้วเพราะว่าใช้ง่ายๆ แล้วเข้ากับตัวแปรชนิด Object ของ JavaScript พอดี
ตัวอย่าง XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<breakfast_menu>
<food>
<name>ข้าวไข่เจียวหมูสับ</name>
<price>35฿</price>
<description>ข้าวสวยพร้อมไข่ที่ตีแล้วเอาไปเจียวในกระทะ</description>
<calories>1455</calories>
</food>
<food>
<name>ข้าวผัดหมู</name>
<price>40฿</price>
<description>ข้าวที่เอาไปผัดพร้อมกับเนื้อหมูแล้วผีกพร้อมเครื่องปรุงรส</description>
<calories>557</calories>
</food>
</breakfast_menu>
|
ตัวอย่าง JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
breakfast_menu = {
food: [
{
name: "ข้าวไข่เจียวหมูสับ",
price: "35฿",
description: "ข้าวสวยพร้อมไข่ที่ตีแล้วเอาไปเจียวในกระทะ",
calories: 1455
},
{
name: "ข้าวผัดหมู",
price: "40฿",
description: "ข้าวที่เอาไปผัดพร้อมกับเนื้อหมูแล้วผีกพร้อมเครื่องปรุงรส",
calories: 557
}
]
}
|
แล้วทำไมถึงบอกว่า JSON มันง่ายกว่าน่ะเหรอ เพราะว่าการตอบกลับมาของ Ajax จะอยู่ในรูปของตัวแปร String ตัวหนึ่ง XML มันอ่านยากกว่า ส่วน JSON นั้นมี
1
|
var response = JSON.parse(ajax);
|
จบเลย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น