⊗jsSpAXFCE 248 of 294 menu

Intercettazione completa degli errori AJAX in JavaScript

La Promise restituita da fetch si risolve con un errore solo se si verifica un errore di rete. Se invece il server restituisce una risposta con status 404 o 500, la Promise verrà risolta con successo, ma la proprietà ok sarà impostata a false.

Intercettiamo entrambi i tipi di errore:

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

Facciamo in modo che anche l'errore relativo a uno status HTTP non valido venga catturato dal blocco catch. Per farlo, lo rigettiamo usando throw:

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

Visualizza il testo della pagina se la richiesta è andata a buon fine, e l'errore se qualcosa è andato storto.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta