“现在评估,稍后回应”的最佳实践?

时间:2011-09-27 15:28:49

标签: login error-handling

假设我正在构建一个登录系统。用户在字段中输入用户名和密码,然后通过HTTPS将其发送到服务器,服务器在页面加载之前验证登录。如果发送了错误的密码,登录显然会立即失败,但是人们希望稍后在登录框附近的页面中显示错误消息。

显而易见的解决方案是设置一个全局标志并让登录框检查它并在必要时添加错误消息,但我的理解是最好避免使用全局变量。是否有另一种直接实现此功能的方法?

1 个答案:

答案 0 :(得分:0)

对于非AJAX登录页面,通常的做法是将用户浏览器重定向到登录页面,并在URL中添加额外的查询参数。在伪代码中,这里是登录验证控制器代码段:

success = checkLogin(username,password)
if (success == false)
  redirect('http://example.com/login?failedlogin=true')

登录页面控制器将负责检测此查询参数并告知视图代码显示失败消息。我不认为“全球旗帜”一词适用于这种做法,所以它应该符合你的要求。

如果登录页面使用Ajax,则登录页面上的Javascript将获取AJAX调用的结果,并使用失败消息更新相应的DOM元素。