Bon codes d'état pour les réponses JSON pour les appels Ajax?

Mon projet est de retour JSON pour les appels Ajax à partir du navigateur. Je me demande quel est le code de statut est pour l'envoi de retour avec des réponses non valides (mais géré avec succès) les soumissions de données.

Par exemple, jQuery a la suite de deux rappels lors de la prise de requêtes Ajax:

success: Déclenché lorsqu'un 200/2xx code d'état est livré avec la réponse.

error: Déclenché lorsque 4xx, 5xx, etc, codes de statut, de revenir avec la réponse.

Si un utilisateur tente de créer un nouveau "Personne" objet, je l'ai renvoyer une représentation JSON de l'objet nouvellement créé, en cas de succès, donnant ainsi accès javascript pour la nécessaire ID unique pour le nouvel objet, etc. Ceci, bien sûr, est envoyé avec un code d'état 200.

Si un utilisateur soumet malformé ou des données non valides (par exemple, un invalide ou incomplète champ "nom"), je tiens à envoyer les messages d'erreur de validation via JSON. (Je ne vois pas pourquoi ce serait une mauvaise chose).

Ma question est: en agissant de la sorte, dois-je envoyer un 200 code d'état, parce que j'ai traité avec succès leurs données non valides? Donc, je serais à l'aide de jQuery success de rappel, mais simplement de vérifier pour les erreurs...

Ou, dois-je utiliser un 4xx code d'état, peut-être que "Bad Request", parce que les données qu'ils m'ont envoyé n'est pas valide? (et donc, utiliser l' error de rappel à faire le nécessaire côté client notifications).

  • Je suis au courant et certain qu'il y a plus de détails que les explications simples que je vous ai donné les causes de jQuery pour tirer les rappels que j'ai mentionnés. Juste essayer de garder ma compréhension des descriptions courtes et simples.