0Pricing
jQuery Academy · บทเรียน

การดำเนินการ AJAX

การดำเนินการ AJAX

การดำเนินการ AJAX เป็นบทเรียน jQuery Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน jQuery Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส jQuery Academy มีบทเรียนทั้งหมด 1 บทเรียน

บทนำ

สวัสดีครับ

ในบทเรียนนี้ เราจะเรียนรู้วิธีโต้ตอบกับเซิร์ฟเวอร์ระยะไกลโดยใช้เมธอด AJAX ของ jQuery

AJAX(Asynchronous Javascript And XML) คือเทคโนโลยีที่ช่วยถ่ายโอนข้อมูลกับเซิร์ฟเวอร์แบบอะซิงโครนัส โดยไม่ต้องโหลดหน้าเว็บใหม่

ประสบการณ์การใช้งานของผู้ใช้ได้รับผลในทางที่ดี โดยเฉพาะอย่างยิ่งเพราะสามารถถ่ายโอนข้อมูลได้โดยไม่ต้องโหลดหน้าเว็บใหม่

ตัวอย่าง Ajax

โดยเฉพาะเว็บแอปพลิเคชันยอดนิยมระดับโลก เช่น Facebook, Gmail และ Youtube ต่างใช้เทคโนโลยี AJAX อยู่บ่อยครั้ง

จริง ๆ แล้ว แทนที่จะมองว่า AJAX เป็นเทคโนโลยีใหม่ คุณสามารถมองว่า AJAX เป็นเมธอดที่ช่วยถ่ายโอนข้อมูลระหว่างเซิร์ฟเวอร์กับไคลเอนต์แบบอะซิงโครนัสโดยใช้จาวาสคริปต์

เอาละครับ มาดูตัวอย่างฟังก์ชันที่ใช้ AJAX กัน

ตัวอย่างเช่น คุณดูวิดีโอบน youtube.com แล้วคลิก ปุ่มถูกใจ ในกรณีนี้ เหตุการณ์การกดถูกใจของเราจะถูกส่งไปยัง เซิร์ฟเวอร์ของ youtube ในเบื้องหลัง ก่อนที่หน้า youtube จะโหลดใหม่

นี่คือกระบวนการที่เกิดขึ้นจากการร้องขอ AJAX

ตัวอย่าง Ajax

มาดูตัวอย่างการร้องขอ AJAX กันครับ

ด้านล่างนี้คือตัวอย่างโค้ด GET request ที่สร้างด้วย AJAX ไปยัง https://api.coddykit.com/api/coddy-test

ตัวอย่างนี้สร้างด้วย Vanilla Javascript และมีรูปแบบไวยากรณ์ที่ค่อนข้างซับซ้อน ดังที่เห็น

<div id="result"></div>

<script>
 var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 
        && this.status == 200) {
      //we are writing the AJAX request response 
      //to div element that has result id
      var result = document.getElementById('result');
      result.innerHTML = JSON.stringify(this.responseText);
    }
  };
  xhttp.open("GET", "https://api.coddykit.com/api/coddy-test", true);
  xhttp.send();
</script>

คำเตือน

ดังที่เราได้กล่าวไว้ก่อนหน้านี้ jQuery เป็นไลบรารีสำหรับแก้ไข DOM และยังมีเมธอดที่ช่วยให้ดำเนินการ AJAX ได้ง่ายขึ้น

เมธอด Ajax

เรามีเมธอดที่ค่อนข้างเรียบง่ายสำหรับจัดการคำร้องขอ AJAX ด้วย jQuery 

ด้วยเมธอด ajax() เราสามารถใช้เมธอด HTTP ที่นิยมใช้ในโลกเว็บได้อย่างง่ายดาย เช่น get, post หรือ put

ไวยากรณ์ของเมธอด Ajax มีดังนี้

$.ajax ({

url: 'remote URL'.

data: 'Data that we will send',

method: 'HTTP Method - Default GET',

success: 'Here, we should define function that work when Ajax get success result',

dataType: 'Interaction data type'

});

มาดูตัวอย่างกัน

<div id="result"></div>

<script>
$.ajax ({
   url: 'https://api.coddykit.com/api/coddy-test',
   success: function(data){
   $('#result').text(JSON.stringify(data));
  }
});

</script>

ตัวอย่าง Ajax

คำขอ Ajax แบบ get

ตอนนี้มาปรับปรุงตัวอย่างของเรากัน

ในตัวอย่างด้านล่าง มีการส่งคำขอ ajax ไปยัง URL (https://api.coddykit.com/api/coddy-test)

หากไม่ได้กำหนดเมธอด HTTP ระบบจะส่งคำขอ GET เป็นค่าเริ่มต้น

const https = require('https');

function ajax(url) {
  const callbacks = { success: [], fail: [], always: [] };
  const req = https.get(url, (res) => {
    let data = '';
    res.on('data', chunk => data += chunk);
    res.on('end', () => {
      callbacks.success.forEach(cb => cb(data));
      callbacks.always.forEach(cb => cb());
    });
  });
  req.on('error', (err) => {
    callbacks.fail.forEach(cb => cb(err));
    callbacks.always.forEach(cb => cb());
  });
  return {
    done: function(cb) { callbacks.success.push(cb); return this; },
    fail: function(cb) { callbacks.fail.push(cb); return this; },
    always: function(cb) { callbacks.always.push(cb); return this; }
  };
}

var ajaxReq = ajax("https://api.coddykit.com/api/coddy-test")
  .done(function() {
   //success callback
  /*
  If our get request is sent to 
  the server with success (HTTP 2xx), 
  this function is called.
 */
  })
  .fail(function() {
   /* This function works 
       if the AJAX request fails.
   */
  })
  .always(function() {
   /*
   This function works in all cases when 
    the AJAX request is 
    successful or unsuccessful.
   */
  });

เมธอด get

เมธอด $.get() และคำร้องขอ Get

เราสามารถใช้เมธอด $.get() เพื่อส่งคำร้องขอ HTTP get ไปยังเซิร์ฟเวอร์ของเรา

เมธอดนี้จัดเตรียมให้โดย jQuery และช่วยให้เราส่งคำร้องขอ GET ได้ด้วยการเขียนโค้ดที่กระชับและง่ายกว่า Vanilla Javascript

มาดูตัวอย่างกัน และ สังเกตว่าโค้ดสั้นลงมากเพียงใด

<div id="result"></div> 

<script>
$.get("https://api.coddykit.com/api/coddy-test", 
function(response) {
   $('#result').text(JSON.stringify(response));
})
</script>

เมธอด Post

เมธอด $.post() และคำขอ Post

เราสามารถใช้เมธอด $.post() เพื่อส่งคำขอ HTTP Post ไปยังเซิร์ฟเวอร์ของเรา

มาดูตัวอย่างและสังเกตว่าโค้ดสั้นลงเพียงใด

เราจะใช้คำขอ post อยู่บ่อยครั้ง โดยเฉพาะเมื่อส่งข้อมูลฟอร์มเว็บไปยังเซิร์ฟเวอร์

<div id="result"></div> 

<script>
$.post("https://api.coddykit.com/api/coddy-test", 
//Please note that we can send data in body while we sending Post Request
{name:'Coddy', age: 3},
function(response) {
   $('#result').text(JSON.stringify(response));
})
</script>

เมธอด Put

คำร้องขอ Put

เราสามารถใช้เมธอด $.put() เพื่อส่งคำร้องขอ HTTP Put ไปยังเซิร์ฟเวอร์ของเรา

มาดูตัวอย่างกัน

<div id="result"></div> 

<script>
$.ajax({
method:'PUT', 
url:"https://api.coddykit.com/api/coddy-test",
//Please note that we can send data in body while we sending Put Request
data: {name:'Coddy', age: 3},
success: function(response) {
   $('#result').text(JSON.stringify(response));
}})
</script>

เมธอด Delete

คำร้องขอ Delete

เราสามารถใช้เมธอด $.delete() เพื่อส่งคำร้องขอ HTTP Delete ไปยังเซิร์ฟเวอร์ของเรา

มาดูตัวอย่างกัน

<div id="result"></div> 

<script>
$.ajax({
method:'DELETE', 
url:"https://api.coddykit.com/api/coddy-test",
success: function(response) {
   $('#result').text(JSON.stringify(response));
}})
</script>

ลิงก์

คุณสามารถดูตัวอย่างและอ่านข้อมูลโดยละเอียด เกี่ยวกับเมธอด AJAX ได้จากลิงก์ด้านล่าง

ขอแสดงความยินดี

ขอแสดงความยินดี 🎉

ในส่วนนี้ เราได้เรียนรู้ AJAX ด้วย jQuery

ขอบคุณที่เข้าร่วมหลักสูตร jQuery สำหรับผู้เริ่มต้นกับเรา 🎉🎉🎉

ตอนนี้คุณสามารถเข้าสอบและรับใบรับรองสำหรับหลักสูตรบทเรียน jQuery สำหรับผู้เริ่มต้นได้แล้ว 🚀🚀🚀

การดำเนินการ AJAX — ภาพประกอบ 12

คำถามที่พบบ่อย

บทเรียน “การดำเนินการ AJAX” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การดำเนินการ AJAX” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส jQuery Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส jQuery Academy มีบทเรียนทั้งหมด 1 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การดำเนินการ AJAX”

การดำเนินการ AJAX คุณปฏิบัติ jQuery Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน jQuery Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน jQuery Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน

บทเรียน “การดำเนินการ AJAX” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน jQuery Academy นี้ได้ไหม

ได้ บทเรียน jQuery Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

← กลับไปที่ jQuery Academy