⊗jsSpAXFCE 248 of 294 menu

AJAX-virheiden täydellinen sieppaus JavaScriptissä

Lupaus, jonka fetch palauttaa, valmistuu virheellä vain, jos verkkovirhe tapahtui. Jos palvelin palauttaa vastauksen statuksella 404 tai 500, lupaus valmistuu onnistuneesti, mutta tällöin tila ok on asetettu arvoon false.

Siepataanpa molemmat virhetyypit:

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

Tehdään niin, että HTTP-vastauksen huonoon statukseen liittyvä virhe myös saadaan kiinni catch -lohkossa. Tätä varten heitetään se eteenpäin käyttämällä throw:ia:

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

Tulosta sivun teksti, jos pyyntö onnistui, ja virhe, jos jokin meni pieleen.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää