หากคุณยังใหม่กับ AJAX (ซึ่งย่อมาจาก Asynchronous Javascript และ XML) รายการAJAXบนวิกิพีเดียเป็นจุดเริ่มต้นที่ดี:
เช่นเดียวกับ DHTML และ LAMP AJAX ไม่ใช่เทคโนโลยีในตัวเอง แต่เป็นกลุ่มของเทคโนโลยี AJAX ใช้การรวมกันของ:
- HTML และ CSS สำหรับทำเครื่องหมายและจัดรูปแบบข้อมูล
- DOM ที่เข้าถึงด้วย JavaScript เพื่อแสดงและโต้ตอบกับข้อมูลที่นำเสนอแบบไดนามิก
- วิธีการแลกเปลี่ยนข้อมูลแบบอะซิงโครนัสระหว่างเบราว์เซอร์และเซิร์ฟเวอร์จึงหลีกเลี่ยงการโหลดหน้าซ้ำ โดยปกติจะใช้อ็อบเจ็กต์ XMLHttpRequest (XHR) แต่บางครั้งก็ใช้อ็อบเจ็กต์ IFrame หรือแท็กที่เพิ่มแบบไดนามิกแทน
- รูปแบบสำหรับข้อมูลที่ส่งไปยังเบราว์เซอร์ รูปแบบทั่วไป ได้แก่ XML, HTML ที่จัดรูปแบบไว้ล่วงหน้า, ข้อความธรรมดาและ JavaScript Object Notation (JSON) ข้อมูลนี้สามารถสร้างแบบไดนามิกโดยใช้สคริปต์ฝั่งเซิร์ฟเวอร์บางรูปแบบ
อย่างที่คุณเห็นจากมุมมองทางเทคโนโลยีที่บริสุทธิ์ไม่มีอะไรใหม่จริงๆที่นี่ ชิ้นส่วน AJAX ส่วนใหญ่มีอยู่แล้วในปี 1994 (1999 สำหรับXMLHttpRequest
วัตถุ) ความแปลกใหม่ที่แท้จริงคือการใช้ชิ้นส่วนเหล่านี้ร่วมกันเหมือนกับที่ Google ทำกับ GMail (2004) และ Google Maps (2005) อันที่จริงทั้งสองไซต์มีส่วนอย่างมากในการส่งเสริม AJAX
ภาพที่มีมูลค่าหนึ่งพันคำด้านล่างแผนผังที่แสดงการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์ระยะไกลรวมถึงความแตกต่างระหว่างแอปพลิเคชันแบบคลาสสิกและแอปพลิเคชันที่ขับเคลื่อนด้วย AJAX:
สำหรับส่วนสีส้มคุณสามารถทำทุกอย่างด้วยมือ (ด้วยXMLHttpRequest
วัตถุ) หรือคุณสามารถใช้ไลบรารี JavaScript ที่มีชื่อเสียงเช่นjQuery , Prototype , YUIฯลฯ เพื่อ "AJAXify" ในฝั่งไคลเอ็นต์ของแอปพลิเคชันของคุณ ไลบรารีดังกล่าวมีจุดมุ่งหมายเพื่อซ่อนความซับซ้อนของการพัฒนา JavaScript (เช่นความเข้ากันได้ของข้ามเบราว์เซอร์) แต่อาจจะมากเกินไปสำหรับคุณลักษณะง่ายๆ
ในฝั่งเซิร์ฟเวอร์เฟรมเวิร์กบางส่วนสามารถช่วยได้เช่นกัน (เช่นDWRหรือRAJAXหากคุณใช้ Java) แต่สิ่งที่คุณต้องทำก็คือการเปิดเผยบริการที่ส่งคืนเฉพาะข้อมูลที่จำเป็นเพื่ออัปเดตหน้าบางส่วน (เริ่มต้นเป็น XML / XHTML - X ใน AJAX - แต่JSONมักเป็นที่ต้องการในปัจจุบัน)