Devdit
 

$.ajax async คือคำสั่งอะไร ใช้ทำอะไร

4.2K

$.ajax async คือคำสั่งกำหนดให้เป็นการสื่อสารแบบ asynchronously หรือไม่ โดยปกติมี 2 ค่าคือ true และ false ต่างกันที่ถ้า true จะทำงานโดยไม่ต้องรอกัน ถ้า false คือต้องรอให้ทำงานเสร็จก่อนจึงทำงานในส่วนต่อไป มีรายละเอียดดังนี้

 

ตัวอย่างที่ 1 $.ajax async กำหนดเป็น true (เป็นค่า default)

<script>
    $.ajax({
        type: "POST",
        url: "submit.php",
        async: true,
        success: function( data ) {
            console.log( data );
        }
    });
    console.log( 'Hello 2' );
</script>
<?php
    // ไฟล์ submit.php
    echo "Hello 1";
?>

ผลลัพธ์

Hello 2
Hello 1

คำอธิบาย

จากตัวอย่างกำหนด async เป็น true หรือไม่กำหนด (default เป็น true) โปรแกรมจะไม่รอการตอบกลับจากไฟล์ submit.php จากผลลัพธ์โปรแกรมจะแสดง hello 2 ก่อนเลยเพราะทำงานเสร็จก่อน และเมื่อไรที่ submit.php ทำงานเสร็จก็จะแสดง hello 1 เป็นการทำงานแบบไม่ต่อเนื่อง ไม่ต้องรอกัน ใครทำงานเสร็จก่อนแสดงผลก่อน

 

ตัวอย่างที่ 2 $.ajax async กำหนดเป็น false

<script>
    $.ajax({
        type: "POST",
        url: "submit.php",
        async: false,
        success: function( data ) {
            console.log( data );
        }
    });
    console.log( 'Hello 2' );
</script>
<?php
    // ไฟล์ submit.php
    echo "Hello 1";
?>

ผลลัพธ์

Hello 1
Hello 2

คำอธิบาย

จากตัวอย่างกำหนด async เป็น false โปรแกรมจะรอการตอบกลับจากไฟล์ submit.php ก่อน ทำให้ได้ผลลัพธ์เป็น hello 1 และ hello 2 ตามลำดับเป็นการทำงานแบบต่อเนื่อง รอกัน ตามคิวของการทำงาน

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ