วิธีการดึงข้อมูล API ด้วยการใช้ Fetch API
ในปัจจุบันต้องบอกว่าการรับส่งข้อมูลจาก Client ไปยัง Server ผ่าน API ถือเป็นเรื่องพื้นฐานและปกติมาก ที่ทุกคนน่าจะเคยได้ใช้งานมา ถ้าจะให้ย้อนกลับไป ก็ตั้งแต่ที่เราใช้งาน AJAX (ไม่ใช่ทีมฟุตบอลนะ) ผ่าน XMLHttpRequest ถ้าใครเกิดทัน 🤣 หรือแม้แต่ช่วงยุครุ่งเรืองของ jQuery เราจะเห็นโค๊ดแบบด้านล่างนี้เต็มไปหมดเลย
ตัว fetch()
เป็น method ที่ให้เราสามารถ รับ-ส่ง ข้อมูล (HTTP Request) ระหว่างเว็บได้จากเว็บบราวเซอร์ ตัว Fetch API จะ return ค่า Promise กลับมา โดยตัวอย่างนี้ จะเป็นตัวอย่าง การดึงข้อมูลด้วย fetch()
นะครับ
รูปแบบ syntax ของ Fetch API จะเป็นแบบนี้
หรือแบบ async/await ก็จะเป็นแบบตัวอย่างด้านล่าง
fetch()
ไม่รองรับ Internet Explorer 11 หรือก่อนหน้า แต่ถ้าเป็น Browser ใหม่ๆ สามารถใช้งานได้
ค่าที่ fetch()
ส่งกลับมา เป็น object Response จะมีค่าข้างในหลักๆ คือ
ok
- เป็นค่า true หรือ falsestatus
- ค่า HTTP status code ที่ได้ (ปกติ จะเป็น 200)statusText
- ค่า default
ตัวอย่างการดึงข้อมูล
ลองไปประยุกต์ใช้กันดูนะครับ ลองฝึกเขียนได้ผ่าน browser ได้เลย โดยการเปิด Developer Tools (ใช้ Chrome เข้า More Tools -> Developer Tools) ถ้าใช้ Windows กด F12 หรือ Control + Shift + I ถ้า Mac OS ใช้ Command + Option + I ครับ แล้วไปที่แท็บ console ทดลองเรียก api ด้วย fetch ได้เลย
หรือตัวอย่าง Codepen ที่ผมทำไว้ เป็นหน้า HTML ธรรมดา ใส่ Input และกด Search ก็จะไปดึงข้อมูลจาก Github API มาแสดง
ตัวอย่าง Free API ไปลองใช้งานดูได้ครับ
Happy Coding ❤️
- Authors
-
Chai Phonbopit
เป็น Web Dev ในบริษัทแห่งหนึ่ง ทำงานมา 10 ปีกว่าๆ ด้วยภาษาและเทคโนโลยี เช่น JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจในเรื่องของ Blockchain และ Crypto กำลังหัดเรียนภาษา Rust