要取消名称的HTTP错误代码是什么?

时间:2012-09-29 23:45:20

标签: http error-code

我正在进行AJAX调用以设置用户名。如果已经使用了用户名,我应该返回什么HTTP代码?

4 个答案:

答案 0 :(得分:16)

您可以使用409 Conflict.otherwise 200并显示错误消息。

答案 1 :(得分:8)

我会选择422 Unprocessable Entity。许多rails开发人员将此用于所有验证错误。

是的,评估错误状态并使用javascript呈现错误消息是完全合适的。如果您对API使用相同的操作,这将特别有用。然后您的ajax请求正在访问您向其他开发人员公开的相同API。

答案 2 :(得分:1)

这里没有规则,这取决于你。但是,正如@rationalboss所说,由于HTTP请求成功,因此返回200并带有消息是有意义的,错误与请求无关。

400错误意味着请求本身在某种程度上不正确,例如错误的动词或缺少参数。

这里的问题是关于软件客户端和人类的解释,如果没有HTTP错误,最好远离错误代码。

答案 3 :(得分:-2)

已取名的名称没有HTTP代码。请参阅List of HTTP Status Codes

如果您使用AJAX调用来设置用户名,为什么不在HTML中显示错误?这更加用户友好,因为访问者会知道实际错误的含义,而不是看到一些4XX代码。