ตัวอย่างการใช้งาน AJAX
-
การตรวจสอบข้อมูลของ Form แบบ Real-Time : ข้อมูลเช่น รหัสสมาชิก, serial number, รหัสไปรษณีย์ สามารถตรวจสอบได้ ก่อนที่ผู้ใช้จะต้อง submit ไปยัง server
-
Autocompletion : ฟอร์มที่มีค่าเฉพาะบางส่วนเช่น email ชื่อ หรือ เมือง สามารถขึ้นชื่อที่สมบูรณ์ให้อัตโนมัติ ขณะที่ user กำลังกรอกข้อมูล
-
Master Details Operations : HTML page สามารถดึงรายละเอียดของสินค้ามาแสดงได้ หลังจากเลือกชื่อสินค้าจาก List
-
Sophisticated User Interface Controls : ส่วนควบคุมเช่น Tree, Menus, Progress bars สามารถแสดงได้โดยไม่ต้องมีการ refresh หน้า
-
Refreshing Data on the Page : HTML page สามารถดึงข้อมูลต่างๆ จาก server มาupdate ข้อมูลแบบ realtime เช่น ผลการแข่งขัน ราคาหุ้น เป็นต้น
-
Server-side Notifications : HTML page สามารถแสดงเหตุการณ์ว่า server กำลังทำเหตุการณ์บางอย่างเช่น การแสดงไอคอนว่ากำลังดึงข้อมูลให้รอซักครู่ แล้ว server ก็ส่งข้อมูลใหม่มาให้ยัง client หรือการ redirect ไปยังอีกหน้านึงโดยที่มีการแสดงสัญลักษณ์ที่เคลื่อนไหวได้ ให้กับผู้ใช้ได้รู้ว่าต้องรอ
จากตัวอย่างด้านบนยังมีกรณีอื่นๆ ที่ AJAX สามารถทำได้อีก แต่การทำสิ่งเหล่านี้ก็มีผลค้างเคียงคือ
-
Complexity : Server-side developer จำเป็นต้องรู้ถึงการแสดงผลทางฝั่ง Client และการให้ข้อมูลออกมาเป็นเอกสาร XML ของฝั่ง Server ซึ่งผู้พัฒนา HTML จำเป็นต้องมีความรู้ในจาวาสคริปส์ด้วย ทำให้ Framework ที่ถูกพัฒนาขึ้นใหม่มีความง่ายในการทำ Model ข้างต้นกว่าการใช้ Framework เดิมที่พัฒนาระบบ Interactive เสริมเข้าไป
-
Standardization of the XMLHttpRequest Object : เนื่องจาก XMLHttpRequest ยังไม่ได้เป็นส่วนหนึ่งของมาตรฐานจาวาสคริปส์ เพราะฉนั้นพฤติกรรมต่างๆ ก็จะขึ้นอยู่กับ Browser ที่แสดงผล
-
JavaScript Technology Implementations : AJAX ต้องใช้ Javascript ในการพัฒนาเยอะมาก ซึ่ง Browser แต่ละตัวก็จะมี จาวาสคริปส์ที่แตกต่างกัน โดยสามารถเปรียบเทียบความแตกต่างได้จาก
http://www.quirksmode.org/
-
Debugging : AJAX ยากแก่การ debug เนื่องจากการทำงานขึ้นอยู่กับทั้ง Client และ Server
-
Viewable Source : เนื่องจาก Javascript สามารถดู source code ได้ง่าย ดังนั้นการออกแบบที่ไม่ดีจะทำให้เกิดปัญหาด้าน security ได้
ในปัจจุบัน Framework และ pattern ต่างๆ กำลังถูกพัฒนาอยู่โดยเน้นไปทาง one-size-fits-all framework โดยในบทความนี้จะพูดถึงว่า AJAX ทำงานอย่างไรกับ J2EE Technology เช่น Servlet, Java Server Page(JSP) software, JavaServer Faces applications, and the Java Standard Tag Libraries (JSTL)