jQuery AJAX เป็นวิธีเก่าที่ต้องใช้ jQuery library และอาศัย XMLHttpRequest กับ callback ในการจัดการผลลัพธ์ ส่วน JavaScript Fetch เป็น API สมัยใหม่ ที่มีอยู่ในเบราว์เซอร์โดยตรง ใช้ Promise และรองรับ async/await ทำให้โค้ดอ่านง่ายและเบากว่า
| คุณสมบัติ | jQuery AJAX | JavaScript Fetch |
|---|---|---|
| การใช้งาน | ต้องโหลด jQuery library | มีในเบราว์เซอร์ทันที ไม่ต้องใช้ library |
| เทคโนโลยีเบื้อง หลัง | ใช้ XMLHttpRequest | ใช้ fetch() ที่เป็น API สมัยใหม่ |
| รูปแบบการเขียน | ใช้ callback ( success, error) | ใช้ Promise (.then(), .catch()) และ async/await |
| การจัดการ response | ต้องเข้าถึง responseXML responseText เอง | มี method เช่น .json(), .text(), .blob() |
| การรองรับ browser เก่า | ทำงานได้แม้ใน IE รุ่นเก่า | ต้องใช้ browser ที่ใหม่กว่า (IE ไม่รองรับ) |
| น้ำหนักของโค้ด | หนักกว่าเพราะต้องโหลด jQuery | เบากว่าเพราะใช้ API ที่มีอยู่แล้ว |
| ความนิยมปัจจุบัน | ใช้ใน legacy projects | เป็นมาตรฐานใหม่สำหรับ web app |
$.ajax({
url: "https://api.example.com/data",
method: "GET",
success: function(data) {
console.log("Data:", data);
},
error: function(err) {
console.error("Error:", err);
}
});
fetch("https://api.example.com/data")
.then(response => response.json())
.then(data => console.log("Data:", data))
.catch(err => console.error("Error:", err));
async function getData() {
try {
const response = await fetch("https://api.example.com/data");
const data = await response.json();
console.log("Data:", data);
} catch (err) {
console.error("Error:", err);
}
}
getData();