2013-10-24 32 views
0

我正在使用node.js构建应用程序。我做了一个登录表单,工作正常,但如果用户输入了错误的用户名和密码,那么他必须刷新窗口,然后输入正确的用户名和密码才能继续下一个屏幕。用户名和密码不匹配时刷新窗口

我该如何让用户在登录窗口之后进入而不刷新?

解释上述问题一步步骤:

  1. 用户输入用户名和密码(如果两者都正确的)。

  2. 用户已经登录

但是:

  1. 用户输入用户名和密码(如果其中一方是错的)。

  2. 刷新窗口。

  3. 用户输入正确的用户名和密码。

  4. 用户已登录。

我怎样才能避免 “刷新窗口” 的步骤?如果不明确,我可以更多解释。

回答

0

我编辑了答案,你可以这样做。

socket.on('login_check', function(email, pwd) { 
    connection.query("SELECT id,user_type FROM user WHERE email = '"+email+"' AND password = '"+pwd+"'ORDER BY name ", 
    function (error, results, fields) { 
     if (error) { 
      console.log(error); 
     } 
     if (results[0]) { 
      // some code  
     } else { 
      response.writeHead(200, { 
       'Location': '/login-path' 
       // add other headers here... 
       // you may also show the email in the text box 
       // again by passing the variable email to the template 
       // engine you are using or how ever you are doing it 
      }); 
    response.end(); 
     } 
    }); 
}); 
+0

你能帮助我吗? 我的代码 - socket.on( 'login_check',函数(电子邮件,PWD){ \t \t \t \t connection.query(“SELECT ID,从USER_TYPE用户WHERE电子邮件= ' ”+电子邮件+“' 和密码= ' “+ PWD +”' ORDER BY名”,功能(错误,结果,字段){ \t \t \t如果(误差){ \t \t \t \t的console.log(误差); \t \t \t \t} \t \t \t如果(结果[0]) \t \t \t { \t \t \t \t //一些代码\t \t \t \t \t \t \t} \t \t \t别的 \t \t \t { \t \t \t \t //如何在这里使用你的代码? \t \t \t} \t \t}); }); 如何得到回应? – Vardan

+0

我编辑了我的答案,现在可以工作吗? – adarsh

+0

这不能确定。这里的回应是未定义的.. – Vardan