คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 4
JavaScript เป็นภาษาชนิดนึง บน web browser สมัยใหม่มี run time สำหรับแปลภาษานี้หมดแล้ว เมื่อใช้งานบน web browser สามารถจัดการกับ DOM (HTML tag) ทำให้หน้าเว็บสามารถเปลี่ยนแปลงได้โดยไม่ต้องประมวลผลจากฝั่งเซิฟเวอร์ (ใช้ web browser ประมวลผล)
เช่นต้องการสร้างลิสต์ร้อยอันเมื่อกดปุ่มสักปุ่มบนหน้าเว็บก็ต้อง submit ไปที่เซิฟเวอร์ ให้ภาษาฝั่งเซิฟเวอร์สร้าง HTML tag ให้สมมติใช้ PHP
แต่ถ้าการทำงานง่าย ๆ แบบนี้ใช้ JavaScript มันก็ง่ายขึ้น คือไม่ต้องส่งไปเซิฟเวอร์เพื่อประมวลผล แต่ใช้ JavaScript สร้างมันขึ้นมาเลย และ jQuery ก็คือ library ตัวหนึ่งที่เขียนฟังก์ชันให้เราใช้งาน JavaScript ง่ายขึ้น
เช่นจะสร้างลิสต์ร้อยอันต้อง
แต่พอใช้ jQuery
และเมื่อเราต้องการส่งข้อมูล เช่นต้องการข้อมูลจากฐานข้อมูล โดยให้ PHP เชื่อมต่อฐานข้อมูลและ query ออกมา แต่เดิมถ้าเราจะแสดงผลก็ใช้ PHP echo / submit form ไป ๆ มา ๆ แต่พอเป็น AJAX เราสามารถสั่งให้ web browser ไปเรียกข้อมูลจากเซิฟเวอร์โดยที่ web browser ไม่ต้อง redirect ไปไหนเลย มันเป็นการทำงานเบื้องหลังฉาก พอเรียกข้อมูลเสร็จเราก็ใช้ JavaScript เอามาสร้าง HTML tag ได้เลย
เราจะใช้หลักการ AJAX ตอนไหนได้บ้าง? สมมติอยากสร้างหน้าแชทสำหรับให้ผู้ใช้งานป้อนข้อความคุยกัน แทนที่จะส่งข้อความด้วยการ submit form ก็เปลี่ยนมาส่งผ่าน AJAX แทนหน้าแชทของเราก็ไม่ redirect แถมผู้ใช้งานก็ไม่ต้องรอโหลดหน้าเว็บทั้งหน้าเพียงแค่ส่งข้อความคุยกันแค่ประโยคเดียว
เช่นต้องการสร้างลิสต์ร้อยอันเมื่อกดปุ่มสักปุ่มบนหน้าเว็บก็ต้อง submit ไปที่เซิฟเวอร์ ให้ภาษาฝั่งเซิฟเวอร์สร้าง HTML tag ให้สมมติใช้ PHP
<?php
if ($_GET['do_create_100_lists'] == 'yes') {
for ($i = 0; $i < 100; $i++) {
echo '<li> </li>';
}
}
if ($_GET['do_create_100_lists'] == 'yes') {
for ($i = 0; $i < 100; $i++) {
echo '<li> </li>';
}
}
แต่ถ้าการทำงานง่าย ๆ แบบนี้ใช้ JavaScript มันก็ง่ายขึ้น คือไม่ต้องส่งไปเซิฟเวอร์เพื่อประมวลผล แต่ใช้ JavaScript สร้างมันขึ้นมาเลย และ jQuery ก็คือ library ตัวหนึ่งที่เขียนฟังก์ชันให้เราใช้งาน JavaScript ง่ายขึ้น
เช่นจะสร้างลิสต์ร้อยอันต้อง
for (i = 0; i < 100; i++) {
var li = document.createElement('li');
var text = document.createTextNode('Some string');
li.appendChild(text);
document.body.appendChild(li);
}
var li = document.createElement('li');
var text = document.createTextNode('Some string');
li.appendChild(text);
document.body.appendChild(li);
}
แต่พอใช้ jQuery
for (i = 0; i < 100; i++) {
$('<li>').text('Some string').appendTo('body');
}
$('<li>').text('Some string').appendTo('body');
}
และเมื่อเราต้องการส่งข้อมูล เช่นต้องการข้อมูลจากฐานข้อมูล โดยให้ PHP เชื่อมต่อฐานข้อมูลและ query ออกมา แต่เดิมถ้าเราจะแสดงผลก็ใช้ PHP echo / submit form ไป ๆ มา ๆ แต่พอเป็น AJAX เราสามารถสั่งให้ web browser ไปเรียกข้อมูลจากเซิฟเวอร์โดยที่ web browser ไม่ต้อง redirect ไปไหนเลย มันเป็นการทำงานเบื้องหลังฉาก พอเรียกข้อมูลเสร็จเราก็ใช้ JavaScript เอามาสร้าง HTML tag ได้เลย
เราจะใช้หลักการ AJAX ตอนไหนได้บ้าง? สมมติอยากสร้างหน้าแชทสำหรับให้ผู้ใช้งานป้อนข้อความคุยกัน แทนที่จะส่งข้อความด้วยการ submit form ก็เปลี่ยนมาส่งผ่าน AJAX แทนหน้าแชทของเราก็ไม่ redirect แถมผู้ใช้งานก็ไม่ต้องรอโหลดหน้าเว็บทั้งหน้าเพียงแค่ส่งข้อความคุยกันแค่ประโยคเดียว
แสดงความคิดเห็น
เริ่มต้นศึกษา Javascript Jquery Ajax ศึกษาแล้วไม่ค่อยเห็นภาพอ่ะ
อยากให้ผู้รู้ทุกแขนง สาขาวิชา ช่วยคนโง่อธิบายให้เห็นภาพหน่อยได้มั้ยคับ
ว่าเวลาทำเว็บหรือเขียนโปรแกรม
Javascript Jquery Ajax มีบทบาทในเหตุการแบบไหนบ้างครับ
รวมถึงให้ความรู้เพิ่มเติ่มได้ก็ดีนะคับ