You are not authorized to view comments.

แสดงการตอบสนองเมื่อ AJAX ทำงาน

ช่วงนี้ได้ลองเล่น AJAX ของ jQuery บ้างมันก็ใช้ง่ายดี (เมื่อก่อนใช้ Prototype กับ script.aculo.us)

เมื่อเราใช้ AJAX นั้น เราจะยังไม่เห็นผลของการทำงานทันที ดังนั้นจึงควรมีอะไรบางอย่าง ที่แสดงให้รู้ว่าขณะนี้กำลังทำงานอยู่ เช่น ข้อความ หรือ รูปภาพ และเมื่อทำงานเสร็จก็เอาออกไป ซึง jQuery ก็ได้เตรียม API ไว้ให้ใช้ คือ ajaxStart และ ajaxStop ดังตัวอย่างด้านล่าง

jQuery("#loading").ajaxStart(function () {
	jQuery(this).show();
}).ajaxStop(function () {
	jQuery(this).hide();
});

จากโค้ดด้านบนจะอธิบายได้ว่า เมื่อ AJAX ทำงานแล้ว element ใดก็ตามที่มี id เท่ากับ loading แล้วจะแสดงให้เห็น และเมื่อทำงานเสร็จสิ้น element นี้จะถูกซ่อนเอาไว้

การแสดงผลการตอบสนองนั้น มีความสำคัญพอสมควรในแง่ของการใช้งาน ตัวอย่างเช่น เราใช้โทรศัพท์โทรไปหาเพื่อน ในขณะที่รอสายอยู่ ถ้าไม่มีเสียงอะไรเลย เราจะรู้ได้อย่างไรว่าเราโทรออกไปได้หรือไม่ ซึ่งก็เหมือนกับการใช้ AJAX หากเราไม่ให้เห็นการตอบสนอง เราจะรู้ได้อย่างไรว่าขณะนี้มันทำงานอยู่ ดังนั้นจึงแนะนำให้มีการแสดงการตอบสนองด้วย