2

我想知道 AJAX 身份验证过程的最佳实践是什么。

当身份验证有效时,我返回 HTTP 标头 200,响应为“ok”如果身份验证无效,我需要从服务器发送什么 HTTP 标头。

  1. 我是否需要将 HTTP 标头设置为代码 500(错误)
  2. 还是将其保留在 200 并实施检查响应变量的逻辑?
4

2 回答 2

2

您不想发送 500 错误,因为这意味着不是由用户引起的意外服务器端错误。

您需要阅读 rfc 规范以获取状态代码:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

4XX 状态代码用于客户端错误,这是您要查找的位置。在您的情况下,如果身份验证失败,您可以使用 401,如果不允许该用户查看资源,则可以使用 403。

于 2012-05-22T23:33:43.133 回答
1

返回 HTTP401 怎么样?

如果需要,您可以在 AJAX 错误处理程序中处理并将整个页面重定向到登录屏幕。

$.ajax({
  statusCode: {
    401: function() {
      alert("User not logged in");
    }
  }
});
于 2012-05-22T23:26:33.183 回答