AJAX คือความฝันของนักพัฒนา เพราะคุณสามารถ:
อ่านข้อมูลจากเว็บเซิร์ฟเวอร์ - หลังจากโหลดเพจแล้ว
อัปเดตหน้าเว็บโดยไม่ต้องโหลดหน้าซ้ำ
ส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์ - ในพื้นหลัง
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Change Content</button>
</div>
<script>
function loadDoc() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
document.getElementById("demo").innerHTML =
this.responseText;
}
xhttp.open("GET", "ajax_info.txt");
xhttp.send();
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>Let AJAX change this text</h2> <button type="button" onclick="loadDoc()">Change Content</button>
</div>
</body>
</html>
หน้า HTML ประกอบด้วยส่วน <div> และ <ปุ่ม>
<div> ส่วนที่ใช้เพื่อแสดงข้อมูลจากเซิร์ฟเวอร์
<ปุ่ม> เรียกใช้ฟังก์ชัน (หากมีการคลิก)
ฟังก์ชั่นขอข้อมูลจากเว็บ เซิร์ฟเวอร์และแสดง:
function loadDoc() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
document.getElementById("demo").innerHTML = this.responseText;
}
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
AJAX=Aซิงโครนัส JavaScript And Xมล.
AJAX ไม่ใช่ภาษาการเขียนโปรแกรม
AJAX ใช้เพียงส่วนผสมของ:
เบราว์เซอร์ในตัว XMLHttpRequest
วัตถุ (เพื่อขอข้อมูลจากเว็บเซิร์ฟเวอร์)
JavaScript และ HTML DOM (เพื่อแสดงหรือใช้ข้อมูล)
AJAX เป็นชื่อที่ทำให้เข้าใจผิด แอปพลิเคชัน AJAX อาจใช้ XML เพื่อส่งข้อมูล แต่การขนส่งข้อมูลในรูปแบบข้อความธรรมดาหรือข้อความ JSON ก็เป็นเรื่องปกติไม่แพ้กัน
AJAX อนุญาตให้อัปเดตหน้าเว็บแบบอะซิงโครนัสโดยการแลกเปลี่ยนข้อมูลกับเว็บเซิร์ฟเวอร์เบื้องหลัง ซึ่งหมายความว่าสามารถอัปเดตบางส่วนของหน้าเว็บได้โดยไม่ต้องโหลดทั้งหน้าใหม่
1. มีเหตุการณ์เกิดขึ้นในหน้าเว็บ (หน้าโหลด คลิกปุ่ม)
2. วัตถุ XMLHttpRequest ถูกสร้างขึ้นโดย JavaScript
3. วัตถุ XMLHttpRequest ส่งคำขอไปยังเว็บเซิร์ฟเวอร์
4. เซิร์ฟเวอร์ประมวลผลคำขอ
5. เซิร์ฟเวอร์ส่งคำตอบกลับไปยังหน้าเว็บ
6. การตอบสนองถูกอ่านโดย JavaScript
7. การดำเนินการที่เหมาะสม (เช่น การอัปเดตหน้า) ดำเนินการโดย JavaScript
เบราว์เซอร์สมัยใหม่สามารถใช้ Fetch API แทน XMLHttpRequest Object ได้
อินเทอร์เฟซ Fetch API ช่วยให้เว็บเบราว์เซอร์ส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ได้
หากคุณใช้วัตถุ XMLHttpRequest การดึงข้อมูลก็สามารถทำได้ด้วยวิธีเดียวกันที่ง่ายกว่า