我想知道 AJAX 身份验证过程的最佳实践是什么。
当身份验证有效时,我返回 HTTP 标头 200,响应为“ok”如果身份验证无效,我需要从服务器发送什么 HTTP 标头。
- 我是否需要将 HTTP 标头设置为代码 500(错误)
- 还是将其保留在 200 并实施检查响应变量的逻辑?
我想知道 AJAX 身份验证过程的最佳实践是什么。
当身份验证有效时,我返回 HTTP 标头 200,响应为“ok”如果身份验证无效,我需要从服务器发送什么 HTTP 标头。
您不想发送 500 错误,因为这意味着不是由用户引起的意外服务器端错误。
您需要阅读 rfc 规范以获取状态代码:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
4XX 状态代码用于客户端错误,这是您要查找的位置。在您的情况下,如果身份验证失败,您可以使用 401,如果不允许该用户查看资源,则可以使用 403。
返回 HTTP401 怎么样?
如果需要,您可以在 AJAX 错误处理程序中处理并将整个页面重定向到登录屏幕。
$.ajax({
statusCode: {
401: function() {
alert("User not logged in");
}
}
});