⊗jsSpAXFCE 248 of 294 menu

การดักจับข้อผิดพลาด AJAX แบบสมบูรณ์ใน JavaScript

Promise ที่ส่งคืนโดย fetch จะสำเร็จด้วยข้อผิดพลาดก็ต่อเมื่อเกิด ข้อผิดพลาดเครือข่ายเท่านั้น หากเซิร์ฟเวอร์ส่งกลับการตอบสนอง ที่มีสถานะ 404 หรือ 500 Promise จะสำเร็จด้วยผลลัพธ์ แต่สถานะ ok จะ ถูกตั้งค่าเป็น false

เรามาดักจับข้อผิดพลาดทั้งสองประเภท:

button.addEventListener('click', function() { let promise = fetch('/ajax.html') .then( response => { if (response.ok) { return response.text(); } else { console.log('สถานะการตอบสนองไม่ดี'); return ''; } }, ).then( text => { console.log(text); } ).catch( error => { console.log(error); } ); });

มาทำให้ข้อผิดพลาดที่เกี่ยวข้อง กับสถานะ HTTP ที่ไม่ดี สามารถ ถูกดักจับโดยบล็อก catch ได้ โดยการส่งต่อมันไป ผ่าน throw:

button.addEventListener('click', function() { let promise = fetch('/ajax.html') .then( response => { if (response.ok) { return response.text(); } else { throw new Error('สถานะการตอบสนองไม่ดี'); } }, ).then( text => { console.log(text); } ).catch( error => { console.log(error); } ); });

ให้แสดงข้อความของหน้าถ้าคำขอ สำเร็จ และแสดงข้อผิดพลาดถ้า มีบางอย่างผิดพลาด

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ