开发者

Best Practice for "Evaluate Now, Respond Later"?

开发者 https://www.devze.com 2023-04-08 07:44 出处:网络
Suppose I\'m building a login system.The user enters a username and password into a field and it is sent via HTTPS to t开发者_运维知识库he server, which validates the login before the page loads.If a

Suppose I'm building a login system. The user enters a username and password into a field and it is sent via HTTPS to t开发者_运维知识库he server, which validates the login before the page loads. If a bad password is sent, the login obviously fails immediately, but one would want the error message to be displayed later in the page, near the login box.

The obvious solution is to set a global flag and have the login box check it and add the error message if necessary, but my understanding is that global variables are best avoided. Is there another straightforward method of achieving this functionality?


For a non-AJAX login page, it is common practice to redirect the user browser to the login page with an extra query parameter in the url, In pseudo-code, here is the login validation controller code segment:

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

The login page controller would be responsible for detecting this query param and telling the view code to display a failure message. I don't believe the term 'global flag' applies to this practice so it should meet your requirements.

If the login page uses Ajax, the Javascript on the login page takes the results of the AJAX call and updates the appropriate DOM elements with the failure message.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号