Sto provando a utilizzare REST (usign spring MVC) come backend Ajax, ma ho riscontrato dei problemi quando lo utilizzo con jQuery. Le migliori pratiche REST consigliano di utilizzare il codice di stato HTTP, ad es. 200, 403, 401, ecc. E non ho alcun problema con un codice di stato di 200, il metodo ajax di jQuery ha un callback fatto (dati) che mi permette di leggere la risposta in formato json. Ma quando ho bisogno di restituire qualche errore in formato JSON insieme al codice di stato, sono stato bloccato. Il callback di fail (jqXHR, textStatus) non sembra supportare json nella risposta. Quindi, se restituisco JSON dal lato server, verrà inserito in jqXHR.reponseText e verrà trattato come testo normale.
Quindi la mia domanda è: REST è buono per l'Ajax? Perché jQuery tratta i dati in modo diverso in caso di codice di stato non 200?