1. เหตุผลหลักในการใช้ Ajax
1. เพื่อให้ได้รับประสบการณ์การใช้งานที่ดีขึ้นผ่านแอปพลิเคชัน Ajax ที่เหมาะสม
2. เพื่อถ่ายโอนงานก่อนหน้าบางส่วนที่เป็นภาระของเซิร์ฟเวอร์ไปยังไคลเอนต์ ซึ่งเป็นประโยชน์ต่อพลังการประมวลผลที่ไม่ได้ใช้งานของไคลเอนต์และลดเซิร์ฟเวอร์ และภาระแบนด์วิดท์ จึงบรรลุวัตถุประสงค์ในการประหยัดพื้นที่ของ ISP และค่าเช่าแบนด์วิธ
2. คำพูดของ
Jesse James Garrett ผู้เสนอแนวคิด Ajax คนแรกๆ เชื่อว่า Ajax เป็นตัวย่อของ Asynchronous JavaScript และ XML Ajax ไม่ใช่ภาษาหรือเทคโนโลยีใหม่ จริงๆ แล้ว มันเป็นเทคโนโลยีหลายอย่างที่รวมกันในลักษณะใดลักษณะหนึ่งเพื่อมีบทบาทตามลำดับในการทำงานร่วมกัน ประกอบด้วย:
· การใช้ XHTML และ CSS เพื่อสร้างมาตรฐานการนำเสนอ ·
การใช้ DOM Realize การแสดงผลและการโต้ตอบ;
·ใช้ XML และ XSLT สำหรับการแลกเปลี่ยนและประมวลผลข้อมูล
·ใช้ XMLHttpRequest สำหรับการอ่านข้อมูลแบบอะซิงโครนัส
·สุดท้ายใช้ JavaScript เพื่อผูกและประมวลผลข้อมูลทั้งหมด
หลักการทำงานของ Ajax เทียบเท่ากับการเพิ่มเลเยอร์กลางเพื่อให้การดำเนินการของผู้ใช้เป็นแบบอะซิงโครนัส และการตอบกลับของเซิร์ฟเวอร์แบบอะซิงโครนัส คำขอของผู้ใช้บางส่วนไม่ได้ถูกส่งไปยังเซิร์ฟเวอร์ การตรวจสอบข้อมูลและการประมวลผลข้อมูลบางอย่างจะเหลือให้กับกลไก Ajax เท่านั้น เมื่อพิจารณาว่าจำเป็นต้องอ่านข้อมูลใหม่จากเซิร์ฟเวอร์ กลไก Ajax จะส่งคำขอไปยังเซิร์ฟเวอร์ ในนามของมัน
3. ภาพรวม
แม้ว่า Garrent จะแสดงรายการเทคโนโลยีที่เป็นส่วนประกอบของ Ajax 7 รายการ แต่โดยส่วนตัวแล้วฉันเชื่อว่าแกนหลักของสิ่งที่เรียกว่า Ajax นั้นเป็นเพียง JavaScript, XMLHTTPRequest และ DOM หากรูปแบบข้อมูลที่ใช้คือ XML ก็สามารถเพิ่ม XML ได้ (Ajax เริ่มต้นจากฝั่งเซิร์ฟเวอร์) การส่งคืน ข้อมูลสามารถอยู่ในรูปแบบ XML หรือรูปแบบอื่น เช่น ข้อความ)
ในวิธีการโต้ตอบแบบเก่า ผู้ใช้ทริกเกอร์คำขอ HTTP ไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะประมวลผล จากนั้นส่งคืนเพจ HTHL ใหม่ไปยังไคลเอนต์ เมื่อใดก็ตามที่เซิร์ฟเวอร์ประมวลผลคำขอที่ส่งโดยไคลเอนต์ ไคลเอนต์จะทำได้เพียงรอเมื่อไม่ได้ใช้งาน และแม้ว่าจะเป็นเพียงการโต้ตอบเพียงเล็กน้อยและต้องการเพียงข้อมูลง่ายๆ จากเซิร์ฟเวอร์เท่านั้น แต่จะต้องส่งคืนหน้า HTML ที่สมบูรณ์ และผู้ใช้จะต้องเสียเวลาและแบนด์วิดท์เพื่ออ่านซ้ำทั้งหน้าทุกครั้ง .
หลังจากใช้ Ajax ผู้ใช้รู้สึกว่าการดำเนินการเกือบทั้งหมดจะตอบสนองอย่างรวดเร็วโดยไม่ต้องรอโหลดหน้าใหม่ (หน้าจอสีขาว)
1. XMLHTTPRequest
หนึ่งในคุณสมบัติที่ใหญ่ที่สุดของ Ajax คือสามารถส่งหรืออ่านและเขียนข้อมูลไปยังเซิร์ฟเวอร์โดยไม่ต้องรีเฟรชเพจ (หรือที่เรียกว่าการอัปเดตเพจโดยไม่รีเฟรช) คุณสมบัตินี้ส่วนใหญ่ได้รับประโยชน์จากวัตถุ XMLHTTP คอมโพเนนต์ XMLHTTPRequest ด้วยวิธีนี้ แอปพลิเคชันเดสก์ท็อปสามารถแลกเปลี่ยนข้อมูลกับเซิร์ฟเวอร์เท่านั้น โดยไม่ต้องรีเฟรชอินเทอร์เฟซทุกครั้ง หรือส่งงานประมวลผลข้อมูลไปยังเซิร์ฟเวอร์ทุกครั้ง ซึ่งไม่เพียงแต่ช่วยลดภาระบนเซิร์ฟเวอร์เท่านั้น แต่ยังช่วยเร่งเวลาการประมวลผลอีกด้วย ความเร็วในการตอบสนองและเวลารอของผู้ใช้สั้นลง
Microsoft เป็นคนแรกที่ใช้ XMLHTTP IE (IE5 ขึ้นไป) ขยายฟังก์ชันโดยอนุญาตให้นักพัฒนาใช้ส่วนประกอบ XMLHTTP ActiveX ภายในเว็บเพจ นักพัฒนาสามารถถ่ายโอนข้อมูลไปยังหรือดึงข้อมูลจากเซิร์ฟเวอร์ได้โดยตรงโดยไม่ต้องนำทางจากข้อมูลเว็บเพจปัจจุบัน . คุณลักษณะนี้มีความสำคัญเนื่องจากช่วยลดความเจ็บปวดจากการเชื่อมต่อแบบไร้สถานะ และยังสามารถเพิ่มความเร็วของกระบวนการโดยไม่จำเป็นต้องดาวน์โหลด HTML ที่ซ้ำซ้อนอีกด้วย Mozilla (Mozilla 1.0 ขึ้นไปและ NetScape 7 ขึ้นไป) ตอบสนองด้วยการสร้างคลาสพร็อกซี XML ที่สืบทอดมาของตัวเอง: คลาส XMLHttpRequest Konqueror (และ Safari v1.2 ซึ่งเป็นเบราว์เซอร์ที่ใช้ KHTML เช่นกัน) ยังรองรับออบเจ็กต์ XMLHttpRequest และ Opera จะรองรับออบเจ็กต์ XMLHttpRequest ใน v7.6x+ และเวอร์ชันที่ใหม่กว่าด้วย โดยส่วนใหญ่ ออบเจ็กต์ XMLHttpRequest จะคล้ายกับคอมโพเนนต์ XMLHTTP มาก และวิธีการและคุณสมบัติจะคล้ายกัน ยกเว้นว่าคุณสมบัติจำนวนเล็กน้อยไม่ได้รับการสนับสนุน
การประยุกต์ใช้ XMLHttpRequest:
·การประยุกต์ใช้วัตถุ XMLHttpRequest ใน JS
var xmlhttp = new XMLHttpRequest();
·การประยุกต์ใช้ส่วนประกอบ XMLHTTP ของ Microsoft ใน JS
var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP)
= new ActiveXObject(Msxml2.XMLHTTP) );
วิธีการวัตถุ XMLHttpRequest
/**
* การสร้างอินสแตนซ์ XMLHttpRequest แบบข้ามเบราว์เซอร์
*/
if (ประเภทของ XMLHttpRequest == 'unknown') {
XMLHttpRequest = function () {
var msxmls = ['MSXML3', 'MSXML2', 'Microsoft']
สำหรับ ( var i=0; i < msxmls.length; i++) {
try {
return new ActiveXObject(msxmls[i]+'.XMLHTTP')
} catch (e) { }
}
โยนข้อผิดพลาดใหม่ ("ไม่มีการติดตั้งส่วนประกอบ XML! ")
}
}
ฟังก์ชั่น createXMLHttpRequest() {
ลอง {
// พยายามสร้างมันขึ้นมา "วิธีของ Mozilla"
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
// เดาไม่ออก - ตอนนี้เป็นวิธี IE
if (window.ActiveXObject ) {
ส่งคืน ActiveXObject ใหม่ (getXMLPrefix() + ".XmlHttp");
}
}
catch (เช่น) {}
return false
};
ของวัตถุ XMLHttpRequest
abort | ( |
) | ยกเลิกการร้องขอปัจจุบัน |
getAllResponseHeaders() | ส่งคืนส่วนหัวที่สมบูรณ์เป็นสตริง |
getResponseHeader("headerLabel") | ส่งคืนป้ายกำกับส่วนหัวเดียวเป็นสตริง |
open("method","URL"[,asyncFlag[ , "userName"[, "password"]]]) | ตั้งค่า URL เป้าหมาย วิธีการ และพารามิเตอร์อื่นๆ ของคำขอที่รอดำเนินการ |
send(content) | ส่งคำขอ |
setRequestHeader("label", "value") | ตั้งค่าส่วนหัวและส่งพร้อมกัน ด้วยการร้องขอคำ |
แอตทริบิวต์วัตถุ XMLHttpRequest
onreadystatechange | ท |
readyState | |
สำหรับ | การเปลี่ยนแปลงสถานะ |
สถานะของวัตถุ (จำนวนเต็ม): 0 = ไม่ได้เตรียมใช้งาน 1 = การอ่าน 2 = อ่าน 3 = การโต้ตอบ 4 = กรอก | |
ข้อมูลเวอร์ชันข้อความที่ส่งคืนโดยกระบวนการเซิร์ฟเวอร์ | responseText |
วัตถุเอกสาร XML ที่เข้ากันได้กับ DOM ที่ส่งคืนโดย | กระบวนการเซิร์ฟเวอร์responseXML |
ที่ | ส่งคืนโดยเซิร์ฟเวอร์ เช่น: 404 = "ไม่พบไฟล์", 200 = |
"สำเร็จ" | |
ที่ส่งคืนโดยเซิร์ฟเวอร์ข้อความ | สถานะ |
2. JavaScript
JavaScript เป็นภาษาโปรแกรมที่ใช้กันอย่างแพร่หลายในเบราว์เซอร์ ในอดีตเคยถูกมองว่าเป็นภาษาที่ไม่ดี (มันน่าเบื่อจริงๆ ที่จะใช้) และมักใช้กับบางคน วัตถุประสงค์ แกดเจ็ตที่ฉูดฉาดและการเล่นแผลง ๆ หรือการตรวจสอบแบบฟอร์มที่น่าเบื่อ แต่ความจริงก็คือว่ามันเป็นภาษาโปรแกรมจริง มีมาตรฐานของตัวเอง และได้รับการสนับสนุนอย่างกว้างขวางในเบราว์เซอร์ต่างๆ
3.
โมเดลวัตถุเอกสาร
DOMDOM คือชุดของ API สำหรับไฟล์ HTML และ XML โดยให้การแสดงโครงสร้างของไฟล์ ซึ่งช่วยให้คุณสามารถเปลี่ยนแปลงเนื้อหาและการมองเห็นได้ สาระสำคัญคือการสร้างสะพานสื่อสารระหว่างหน้าเว็บกับสคริปต์หรือภาษาการเขียนโปรแกรม
คุณสมบัติ วิธีการ และเหตุการณ์ทั้งหมดที่นักพัฒนาเว็บสามารถดำเนินการและสร้างไฟล์จะถูกแสดงโดยออบเจ็กต์ (เช่น เอกสารแสดงถึงออบเจ็กต์ "ตัวไฟล์เอง" ออบเจ็กต์ตารางแสดงถึงออบเจ็กต์ตาราง HTML ฯลฯ) ออบเจ็กต์เหล่านี้สามารถเข้าถึงได้จากสคริปต์โดยเบราว์เซอร์ส่วนใหญ่ในปัจจุบัน
หน้าเว็บที่สร้างด้วย HTML หรือ XHTML ยังถือได้ว่าเป็นชุดของข้อมูลที่มีโครงสร้าง ข้อมูลนี้อยู่ใน DOM (Document Object Model) DOM ให้การสนับสนุนสำหรับการอ่านและการเขียนวัตถุต่างๆ ในหน้าเว็บ
4. ภาษา XML
กลไก Ajax ที่ Jesse James Garrett กล่าวถึงนั้นเป็นแอปพลิเคชัน JavaScript ที่ค่อนข้างซับซ้อนซึ่งใช้ในการประมวลผลคำขอของผู้ใช้ อ่านและเขียนเซิร์ฟเวอร์ และเปลี่ยนแปลงเนื้อหา DOM
เอ็นจิ้น Ajax ของ JavaScript จะอ่านข้อมูลและเขียน DOM ใหม่แบบโต้ตอบ ซึ่งช่วยให้สามารถสร้างหน้าเว็บใหม่ได้อย่างราบรื่น นั่นคือการเปลี่ยนแปลงเนื้อหาของหน้าหลังจากดาวน์โหลดเพจแล้ว นี่คือสิ่งที่เราใช้อย่างกว้างขวางกับ JavaScript และวิธี DOM แต่เพื่อให้หน้าเว็บมีไดนามิกอย่างแท้จริง ไม่เพียงแต่ต้องมีการโต้ตอบภายในเท่านั้น แต่ยังต้องรับข้อมูลจากภายนอกด้วย ในอดีตเราอนุญาตให้ผู้ใช้ป้อนข้อมูลและเปลี่ยนแปลงเนื้อหาของหน้าเว็บผ่าน DOM แต่ตอนนี้ XMLHTTPRequest อนุญาต เราอ่านและเขียนข้อมูลบนเซิร์ฟเวอร์โดยไม่ต้องโหลดหน้าซ้ำ เป็นการลดการป้อนข้อมูลของผู้ใช้
การสื่อสารผ่านเครือข่ายที่ใช้ XML ไม่ใช่เรื่องใหม่ จริงๆ แล้วทั้ง FLASH และ JAVA Applet ทำงานได้ดี ขณะนี้การโต้ตอบที่หลากหลายประเภทนี้มีให้ใช้งานบนหน้าเว็บแล้ว โดยใช้เทคโนโลยีที่ได้มาตรฐานและได้รับการสนับสนุนอย่างกว้างขวาง และไม่ต้องใช้ปลั๊กอิน หรือปลั๊กอิน ดาวน์โหลดแอพเพล็ต
Ajax คือการเปลี่ยนแปลงของแอปพลิเคชันเว็บแบบดั้งเดิม ในอดีต เซิร์ฟเวอร์สร้างหน้า HTML ในแต่ละครั้งและส่งคืนไปยังไคลเอนต์ (เบราว์เซอร์) ในเว็บไซต์ส่วนใหญ่ อย่างน้อย 90% ของหลายๆ หน้าเหมือนกัน เช่น โครงสร้าง รูปแบบ ส่วนหัว ส่วนท้าย โฆษณา ฯลฯ ข้อแตกต่างเพียงอย่างเดียวคือเนื้อหาส่วนเล็กๆ แต่ทุกครั้งที่เซิร์ฟเวอร์จะสร้าง Returning ทั้งหมด เพจที่ส่งถึงไคลเอนต์นั้นเป็นการสูญเปล่าที่มองไม่เห็น ไม่ว่าจะเป็นเวลาของผู้ใช้ แบนด์วิธ การใช้ CPU หรือแบนด์วิธและพื้นที่ที่ ISP เช่าในราคาที่สูง หากคำนวณตามจำนวนหน้า K เพียงไม่กี่ K หรือหลายสิบ K อาจไม่น่าประทับใจ แต่สำหรับ ISP ขนาดใหญ่เช่น SINA ที่สร้างหลายล้านหน้าทุกวัน อาจกล่าวได้ว่าเป็นการสูญเสียครั้งใหญ่ AJAX สามารถทำหน้าที่เป็นชั้นกลางระหว่างไคลเอนต์และเซิร์ฟเวอร์เพื่อจัดการคำขอของลูกค้าและส่งคำขอไปยังเซิร์ฟเวอร์ได้ตามต้องการ คุณจะได้รับสิ่งที่คุณใช้และปริมาณที่คุณใช้ ดังนั้นจะไม่มีความซ้ำซ้อนและสิ้นเปลืองข้อมูล . ลดจำนวนข้อมูลทั้งหมดที่ดาวน์โหลด และไม่จำเป็นต้องโหลดเนื้อหาใหม่ทั้งหมดเมื่ออัปเดตเพจ มีเพียงส่วนที่จำเป็นต้องอัปเดตเท่านั้นที่สามารถอัปเดตได้ เมื่อเทียบกับการประมวลผลพื้นหลังล้วนๆ และวิธีโหลดซ้ำ ผู้ใช้จะรอ เวลาสั้นลงและการสิ้นเปลืองทรัพยากรลดลง ด้วยเทคโนโลยีที่ได้มาตรฐานและได้รับการสนับสนุนอย่างกว้างขวาง และไม่ต้องใช้ปลั๊กอินหรือแอปเพล็ตที่ดาวน์โหลด Ajax จึงเป็น win-win สำหรับทั้งผู้ใช้และ ISP
Ajax แยกอินเทอร์เฟซและแอปพลิเคชันในเว็บ (อาจกล่าวได้ว่าแยกข้อมูลและการนำเสนอ) ในอดีตไม่มีขอบเขตที่ชัดเจนระหว่างทั้งสอง การแยกข้อมูลและการนำเสนอเอื้อต่อการแบ่งงานและความร่วมมือและ ลดความจำเป็นของบุคลากรที่ไม่ใช่ด้านเทคนิคในการโต้ตอบกับเพจ การปรับเปลี่ยนทำให้เกิดข้อผิดพลาดของแอปพลิเคชันเว็บ ปรับปรุงประสิทธิภาพ และเหมาะสมกับระบบการเผยแพร่ในปัจจุบันมากขึ้น คุณยังสามารถถ่ายโอนงานก่อนหน้าบางส่วนที่เป็นภาระของเซิร์ฟเวอร์ไปยังไคลเอนต์ได้ ซึ่งเป็นประโยชน์ต่อพลังการประมวลผลที่ไม่ได้ใช้งานของไคลเอนต์
4.
การเกิดขึ้นของการประยุกต์ใช้แนวคิด Ajax ได้เปิดฉากสู่ยุคของการอัปเดตหน้าเว็บโดยไม่ต้องรีเฟรชและมีแนวโน้มที่จะแทนที่การใช้แบบฟอร์ม (แบบฟอร์ม) การส่งในการพัฒนาเว็บแบบเดิมเพื่ออัปเดตหน้าเว็บซึ่งถือได้ว่า เป็นเหตุการณ์สำคัญ แต่ Ajax ไม่สามารถใช้ได้กับทุกที่ และขอบเขตการใช้งานนั้นขึ้นอยู่กับลักษณะของมัน
ตัวอย่างแอปพลิเคชันคือแอปพลิเคชัน Ajax สำหรับเมนูแบบเรียงซ้อน
การประมวลผลเมนูแบบเรียงซ้อนก่อนหน้านี้ของเรามีดังต่อไปนี้:
เพื่อหลีกเลี่ยงการโหลดหน้าเว็บซ้ำที่เกิดจากการดำเนินการแต่ละครั้งบนเมนู เราไม่ได้ใช้วิธีการเรียกพื้นหลังในแต่ละครั้ง แต่อ่านข้อมูลทั้งหมดของเมนูแบบเรียงซ้อนพร้อมกัน ออกและเขียนลงในอาร์เรย์แล้วใช้ JavaScript เพื่อควบคุมการนำเสนอชุดย่อยของรายการตามการดำเนินงานของผู้ใช้ ซึ่งจะช่วยแก้ปัญหาความเร็วในการตอบสนองการดำเนินการไม่โหลดหน้าซ้ำและหลีกเลี่ยงการร้องขอไปยังเซิร์ฟเวอร์บ่อยครั้ง แต่หาก ผู้ใช้ไม่ตอบสนองต่อเมนู หากคุณใช้งานหรือใช้งานเพียงบางส่วนของเมนู ข้อมูลที่อ่านบางส่วนจะกลายเป็นข้อมูลที่ซ้ำซ้อนและสิ้นเปลืองทรัพยากรของผู้ใช้ โดยเฉพาะอย่างยิ่งเมื่อโครงสร้างเมนูซับซ้อนและปริมาณข้อมูลมีขนาดใหญ่ ( เช่นเมนูมี มีหลายระดับ แต่ละระดับมีเป็นร้อยรายการ) ข้อเสียข้อนี้ยิ่งเด่นชัดขึ้นไปอีก
หากใช้ Ajax ในกรณีนี้ ผลลัพธ์จะดีขึ้น:
เมื่อเริ่มต้นเพจ เราจะอ่านเฉพาะข้อมูลทั้งหมดของระดับแรกและแสดงข้อมูลนั้น เมื่อผู้ใช้ดำเนินการรายการเมนูระดับแรกรายการใดรายการหนึ่ง ผลลัพธ์ก็จะตามมา ถูกส่งไปยังผู้ใช้ผ่าน Ajax พื้นหลังจะร้องขอข้อมูลทั้งหมดของเมนูย่อยระดับที่สองซึ่งมีรายการระดับแรกอยู่ในปัจจุบัน หากยังคงร้องขอรายการในเมนูระดับที่สองที่นำเสนอแล้ว ระบบจะร้องขอทั้งหมด ข้อมูลของเมนูระดับที่สามทั้งหมดที่สอดคล้องกับรายการเมนูระดับที่สองที่ดำเนินการ และอื่นๆ... ด้วยวิธีนี้ คุณจะได้รับสิ่งที่คุณใช้และมากเท่าที่คุณต้องการ จะไม่มีการซ้ำซ้อนและการสูญเสีย ของข้อมูลลดจำนวนการดาวน์โหลดข้อมูลทั้งหมดและไม่จำเป็นต้องโหลดเนื้อหาใหม่ทั้งหมดเมื่ออัปเดตหน้า เพียงอัปเดตส่วนที่ต้องอัปเดต เมื่อเทียบกับการประมวลผลพื้นหลังและการโหลดซ้ำก็ทำให้ผู้ใช้ใช้เวลารอสั้นลง และลดการสิ้นเปลืองทรัพยากรให้เหลือน้อยที่สุด
นอกจากนี้ เนื่องจาก Ajax สามารถเรียกข้อมูลภายนอกได้ จึงสามารถรับรู้ถึงการทำงานของการรวมข้อมูลได้ (แน่นอนว่าต้องได้รับอนุญาตที่เกี่ยวข้อง) เช่น โปรแกรมอ่าน RSS ออนไลน์เวอร์ชันเบต้าของ Microsoft ที่เพิ่งเปิดตัวเมื่อวันที่ 15 มีนาคม นอกจากนี้ยังสามารถอำนวยความสะดวกได้เช่นกัน การพัฒนาข้อมูลเปิดบางส่วน แอปพลิเคชันบางตัวของตัวเอง เช่น แอปพลิเคชันค้นหาหนังสือนวนิยายบางรายการโดยใช้ข้อมูลของ Amazon
กล่าวโดยสรุป Ajax เหมาะสำหรับแอปพลิเคชันเว็บที่มีการโต้ตอบจำนวนมาก การอ่านข้อมูลบ่อยครั้ง และการจำแนกข้อมูลที่ดี
1. ลดภาระบนเซิร์ฟเวอร์ เนื่องจากแนวคิดพื้นฐานของ Ajax คือ "การรับข้อมูลตามความต้องการ" จึงสามารถลดภาระที่เกิดจากการร้องขอซ้ำซ้อนและผลกระทบต่อเซิร์ฟเวอร์ได้ในระดับสูงสุด
2. อัปเดตเพจโดยไม่รีเฟรช ซึ่งจะลดเวลารอตามจริงและทางจิตวิทยาของผู้ใช้
ขั้นแรกให้ "กด" โหมด "ข้อมูลที่ต้องการ" จะลดจำนวนข้อมูลที่อ่านจริง เพื่อให้เกิดการเปรียบเทียบที่ชัดเจนมาก หากวิธีการโอเวอร์โหลดคือการกลับไปยังจุดเริ่มต้นจากจุดสิ้นสุดหนึ่งแล้วไปยังจุดสิ้นสุดอีกจุดหนึ่ง จากนั้น Ajax จะขึ้นอยู่กับ ที่จุดสิ้นสุดจุดหนึ่ง ถึงจุดสิ้นสุดอีกจุดหนึ่ง
แม้ว่าคุณต้องการอ่านข้อมูลที่ค่อนข้างใหญ่ แต่ก็ไม่จำเป็นต้องมีหน้าจอสีขาวเช่น RELOAD เนื่องจาก Ajax ใช้ XMLHTTP เพื่อส่งคำขอเพื่อรับข้อมูลตอบกลับของเซิร์ฟเวอร์ โดยไม่ต้องโหลดซ้ำ ทั้งหน้า ใช้ Javascript เพื่อดำเนินการ DOM และอัปเดตหน้าในที่สุด ดังนั้นในระหว่างกระบวนการอ่านข้อมูล ผู้ใช้จะไม่พบกับหน้าจอสีขาว แต่เป็นสถานะของหน้าเดิม (หรือคุณสามารถเพิ่มกล่องข้อความแจ้ง LOADING เพื่อให้ ผู้ใช้เข้าใจสถานะกระบวนการอ่านข้อมูล) เฉพาะเมื่อได้รับข้อมูลทั้งหมดแล้ว ส่วนที่เกี่ยวข้องของเนื้อหาจะได้รับการอัปเดต และการอัปเดตนี้ก็เกิดขึ้นทันทีและแทบจะมองไม่เห็นสำหรับผู้ใช้ กล่าวโดยสรุป ผู้ใช้มีความอ่อนไหวมาก พวกเขาสามารถรู้สึกถึงความเอาใจใส่ของคุณต่อพวกเขา แม้ว่าจะไม่น่าจะได้ผลในทันที แต่จะสะสมการพึ่งพาเว็บไซต์ทีละน้อยในใจผู้ใช้
3. ประสบการณ์ผู้ใช้ที่ดีขึ้น
4. นอกจากนี้ยังสามารถถ่ายโอนงานก่อนหน้าบางส่วนที่เซิร์ฟเวอร์ได้รับภาระไปยังไคลเอนต์ซึ่งสามารถใช้งานได้โดยพลังการประมวลผลที่ไม่ได้ใช้งานของไคลเอ็นต์ลดภาระบนเซิร์ฟเวอร์และแบนด์วิดท์และประหยัดพื้นที่และแบนด์วิดท์ ค่าเช่า
5 , Ajax สามารถเรียกข้อมูลภายนอกได้
6. ขึ้นอยู่กับเทคโนโลยีที่ได้มาตรฐานและได้รับการสนับสนุนอย่างกว้างขวางและไม่ต้องใช้ปลั๊กอินหรือแอปเพล็ตที่ดาวน์โหลด
7. Ajax แยกอินเทอร์เฟซและแอปพลิเคชันในเว็บ (อาจเป็นได้) กล่าวเพื่อแยกข้อมูลและการนำเสนอ) ;
8. เป็นสถานการณ์ที่ win-win สำหรับผู้ใช้และ ISP
6. ปัญหาเกี่ยวกับ Ajax
1. อุปกรณ์มือถือบางตัว (เช่น โทรศัพท์มือถือ, PDA ฯลฯ) ยังไม่รองรับ Ajax ได้ดี
2. Ajax engine ที่สร้างด้วย JavaScript, ความเข้ากันได้ของ JavaScript และ DeBugs ทำให้เกิดปัญหา
3. , Ajax ไม่รีเฟรช โหลดซ้ำ เนื่องจากการเปลี่ยนแปลงหน้าไม่ชัดเจนเท่ากับการรีเฟรชการโหลดซ้ำ ดังนั้นจึงง่ายต่อการสร้างปัญหาให้กับผู้ใช้ - ผู้ใช้ไม่แน่ใจว่าข้อมูลปัจจุบันเป็นข้อมูลใหม่หรือได้รับการอัปเดตแล้ว วิธีแก้ปัญหาที่มีอยู่ ได้แก่: ข้อความแจ้งตำแหน่งที่เกี่ยวข้องและการอัปเดตข้อมูล พื้นที่ได้รับการออกแบบให้ชัดเจนยิ่งขึ้น และผู้ใช้จะได้รับแจ้งหลังจากอัปเดตข้อมูล ฯลฯ
4. การรองรับสื่อสตรีมมิ่งไม่ดีเท่ากับ FLASH และ Java Applet;