⊗jsSpAXFCE 248 of 294 menu

Potpuno presretanje AJAX grešaka u JavaScript-u

Promis koji vraća fetch, završava se greškom samo ako je došlo do greške mreže. Ako server vrati odgovor sa statusom 404 ili 500, tada će promis biti uspešno završen, ali status ok će biti postavljen na false.

Hajde da presretnemo oba tipa grešaka:

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

Učinimo da se greška, povezana sa lošim HTTP statusom odgovora, takođe hvata blokom catch. Za ovo ćemo je proslediti dalje preko throw:

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

Ispišite tekst stranice, ako je zahtev bio uspešan, i grešku, ako je nešto pošlo po zlu.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij