Server Side: Spring FrameworkPrimavera funzione di errore ResponseEntity & AJAX: non può accedere ai contenuti corpo della risposta
Ho un controller Primaverache ha un metodo che restituisce il tipo ResponseEntity<String>
.
Per completamente buone richieste torno il seguente:
return new ResponseEntity<>(OK_MESSAGE, new HttpHeaders(), HttpStatus.OK);
Ma se c'è qualche problema durante l'esecuzione o eccezione cattura, torno:
return new ResponseEntity<>(ERROR_MESSAGE, new HttpHeaders(), HttpStatus.BAD_REQUEST);
Dove ERROR_MESSAGE
contiene una stringa personalizzata per ogni tipo di Eccezione catturata.
lato client: chiamata AJAX
Quando questo metodo POST viene chiamato e restituisce HttpStatus.OK, AJAX
success: function (data, message, xhr)
si chiama e posso accedere al easilly String OK_MESSAGE
accedendo data
.
Il problema arriverà quel metodo POST restituisce HttpStatus.BAD_REQUEST, AJAX
error: function (xhr, status, errMsg)
si chiama ma non posso accedere al String ERROR_MESSAGE
inviato dal server, che ho bisogno di mostrare all'utente.
Qualche suggerimento?
Hi @charliebrownie potete per favore inserire il codice di entrambi ajax e controller? – liorsolomon
Ciao! Il metodo My Spring Controller restituisce esattamente questo, un 'ResponseEntity', dove la stringa è la variabile 'ERROR_MESSAGE'. L'unica differenza nella chiamata AJAX è che quando ottengo una risposta OK, posso accedere a quella stringa nella variabile 'data'. C'è un modo per accedervi dalla funzione 'error'? –
charliebrownie
Se hai bisogno del codice, posso fare un * edit * o qualcosa del genere, ma mi chiedo se c'è un modo per accedere a quella stringa che sto passando all'interno di 'ResponseEntity' dalla funzione' error' che mi manca ... in quanto vi è un modo dalla funzione AJAX 'successo'. – charliebrownie