⊗jsSpAXFCE 248 of 294 menu

Volledige interceptie van AJAX-fouten in JavaScript

De promise die door fetch wordt geretourneerd, wordt alleen met een fout beëindigd als er een netwerkfout is opgetreden. Als de server echter een antwoord heeft geretourneerd met status 404 of 500, dan wordt de promise succesvol afgesloten, maar de status ok zal dan op false worden gezet.

Laten we beide soorten fouten onderscheppen:

button.addEventListener('click', function() { let promise = fetch('/ajax.html') .then( response => { if (response.ok) { return response.text(); } else { console.log('slechte antwoordstatus'); return ''; } }, ).then( text => { console.log(text); } ).catch( error => { console.log(error); } ); });

Laten we ervoor zorgen dat de fout, gerelateerd aan een slechte HTTP-antwoordstatus, ook wordt opgevangen door het catch blok. Hiervoor gooien we deze verder via throw:

button.addEventListener('click', function() { let promise = fetch('/ajax.html') .then( response => { if (response.ok) { return response.text(); } else { throw new Error('slechte antwoordstatus'); } }, ).then( text => { console.log(text); } ).catch( error => { console.log(error); } ); });

Toon de tekst van de pagina als het verzoek succesvol was, en een fout als er iets misging.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren