Cosa significa
La richiesta è riuscita e non c'è un corpo da restituire. Gli header possono comunque portare metadati come un nuovo ETag.
Cause comuni
- Un DELETE è riuscito
- Un PUT o PATCH ha salvato le modifiche senza restituire la risorsa
- Ha risposto una preflight CORS o un endpoint beacon
Come risolvere
Lato client o visitatore
Non cercare di analizzare un corpo: chiamare response.json() su un 204 genera un'eccezione. Controlla lo stato prima di leggere.
Lato gestore del sito o dell’API
Non inviare mai un corpo con 204. Restituisci 200 con JSON se i client hanno bisogno della risorsa aggiornata.
Risposta di esempio
HTTP/1.1 204 No Content
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx Specifica
Domande frequenti
› Perché response.json() fallisce su un 204?
Non c'è alcun corpo da analizzare. Controlla response.status === 204 (o la lunghezza del contenuto) prima di chiamare json().
› DELETE deve restituire 204 o 200?
204 quando non c'è nulla da riportare, 200 quando restituisci un corpo come l'elemento eliminato o una conferma.