Sto facendo una chiamata AJAX per impostare il nome utente. Se il nome utente è già stato preso, quale codice HTTP dovrei restituire?Quale codice di errore HTTP restituire per nome già utilizzato?
risposta
Non esiste un codice HTTP per il nome già utilizzato. Si prega di vedere List of HTTP Status Codes.
Se si utilizzano le chiamate AJAX per impostare il nome utente, perché non mostrare l'errore in HTML? Questo è più user-friendly in quanto i visitatori potrebbero sapere che cosa significa l'errore effettivo, invece di vedere qualche codice 4XX.
stavo per prendere il codice 4xx con jquery e visualizzare un messaggio di errore facile da usare. – Ryan
non si è limitati a prendere cose con i codici di stato http. puoi invece prendere i messaggi di errore. Controlla l'API [jQuery su $ .ajax] (http://api.jquery.com/jQuery.ajax/). Il gestore 'success' dovrebbe aiutarti, basta controllare gli esempi nell'API. – rationalboss
Come ho commentato di seguito, 200 è per il successo. Gli errori che completano le richieste garantiscono un codice di stato di errore. Spero che Ryan non si sia impegnato a restituire 200 quando la richiesta è fallita - è una cattiva idea tutt'intorno. –
Vorrei scegliere 422 Entità non elaborabile. Gli sviluppatori di Lot di rails lo usano per tutti gli errori di convalida.
E sì, è assolutamente opportuno valutare lo stato dell'errore e visualizzare il messaggio di errore con javascript. Ciò è particolarmente utile se si utilizzano le stesse azioni per un'API. Quindi le tue richieste ajax accedono alla stessa API che potresti esporre ad altri sviluppatori.
è possibile utilizzare 409 Conflict.otherwise 200 con messaggio di errore.
Non c'è nessuna regola qui, dipende da voi. Tuttavia, come ha detto @ rationalboss, ha senso restituire 200 con un messaggio poiché la richiesta HTTP è riuscita, l'errore non è correlato alla richiesta.
400 errori indicano che la richiesta non era corretta in qualche modo, come un verbo errato o parametri mancanti.
La domanda qui riguarda l'interpretazione, sia da parte dei client software che da parte degli utenti e potrebbe essere meglio evitare i codici di errore quando non si verifica un errore HTTP.
Non sono d'accordo, ma come hai detto è una questione di opinione. Per me, un errore nel completamento della richiesta garantisce un codice di errore. Non voglio che un cliente controlli i dettagli nella risposta per sapere che qualcosa non va. Se restituisco OK, significa che è riuscito. Eventuali errori che completano la richiesta dovrebbero rientrare nella categoria 400, a meno che non si tratti di un'eccezione effettiva del server, caso in cui va a 500, ma mai 200. –
- 1. Quale codice Http devo restituire per "Cosa non trovata"?
- 2. Quale codice HTTP restituire per il protocollo errato
- 3. Codice di stato HTTP per errore generico
- 4. Quale codice di stato http dovrebbe essere utilizzato per comunicare al client che la sessione è scaduta?
- 5. Codice di stato HTTP per dati errati
- 6. Quale codice di risposta HTTP per "Questa email è già registrata"?
- 7. Quale codice di stato HTTP restituire quando l'operazione DELETE non è consentita per un motivo particolare
- 8. Http codice di risposta per non valida/perse nome host
- 9. Accesso offline PHP API di Google, "invalid_grant: codice già utilizzato"
- 10. Impossibile eliminare l'ultimo contatto: quale codice di stato Http?
- 11. Quale codice di stato HTTP per indicare il nome utente o la password non erano corretti?
- 12. Quale codice di stato HTTP per account non attivato?
- 13. Codice HTTP migliore per un errore di un sottosistema esterno
- 14. REST: risorsa in stato errato - quale stato HTTP dovrei restituire?
- 15. Lo stato HTTP deve essere utilizzato nelle risposte di errore restful?
- 16. rails genera modello Investitore - errore "Il nome 'Investitore' è già utilizzato ..."
- 17. Quale codice di stato HTTP da utilizzare per i parametri richiesti non fornito?
- 18. restituire un codice di stato HTTP specifico con php
- 19. Errore Java: java.lang.IllegalArgumentException: Segnale già utilizzato dalla VM: INT
- 20. Codice di stato HTTP per PUT
- 21. HTTP GET Codice di errore da requests.exceptions.HTTPError
- 22. Codice di stato HTTP per database inattivo
- 23. Errore: tipo incompleto utilizzato nello specificatore nome nidificato
- 24. Quale valore di errore dovrei usare?
- 25. Stato HTTP corretto da restituire per tentativi di hacking
- 26. Codice di stato HTTP per il corpo POST non valido
- 27. Quale strumento è stato utilizzato per semplificare questo pezzo di codice?
- 28. Qual è un codice di stato HTTP appropriato da restituire da un servizio API REST per un errore di convalida?
- 29. Come restituire un codice HTTP 500 su qualsiasi errore, non importa cosa
- 30. quale caricatore di classi viene utilizzato?
Possibile duplicato di [Quale codice di risposta HTTP per "Questo messaggio è già registrato?" (Http://stackoverflow.com/questions/9269040/which-http-response-code-for-this-email-is- già registrato) –