Javascript 身份验证,使用express JS将客户端输入的数据与服务器端的mySql进行比较
我需要帮助比较数据并从客户端返回Javascript 身份验证,使用express JS将客户端输入的数据与服务器端的mySql进行比较,javascript,mysql,angular,typescript,express,Javascript,Mysql,Angular,Typescript,Express,我需要帮助比较数据并从客户端返回true或false,以检查电子邮件是否有效。在客户端,客户端将输入电子邮件并单击按钮进行验证,然后服务器将检查数据库是否存在该电子邮件。如果电子邮件存在,则用户有效,如果电子邮件不存在,则客户端无效,无法继续下一页。我不太熟悉express和一些mysql查询。我在postman应用程序中测试了我的代码,每次它都返回valid。下面是一些来自mySql的电子邮件示例 我在javascript express代码中使用了app.post命令,但看起来我做得不对,
true
或false
,以检查电子邮件是否有效。在客户端,客户端将输入电子邮件并单击按钮进行验证,然后服务器将检查数据库是否存在该电子邮件。如果电子邮件存在,则用户有效,如果电子邮件不存在,则客户端无效,无法继续下一页。我不太熟悉express和一些mysql查询。我在postman应用程序中测试了我的代码,每次它都返回valid
。下面是一些来自mySql的电子邮件示例
我在javascript express代码中使用了app.post
命令,但看起来我做得不对,我错误地编写了if
语句。在postman应用程序中,当我检查它时,它总是返回valid
,在客户端,我无法通过任何电子邮件进行身份验证。我不确定应该设置什么条件,因为我对express不太熟悉
app.post('/verifyEmail',(req,res)=>{
var email=req.body.email;
让sql='从电子邮件中选择*,其中电子邮件=?';//条件检查不正确
让query=db.query(sql,(err,result)=>{
如果(email==null | |!email){//条件检查不正确
犯错误;
res.send(‘无效’);
}
console.log('valid');
res.send(‘有效’);
})
})
由于您正在检查电子邮件变量是否为null,并且最终结果应返回json,因此您将始终获得有效的json。因为在您的客户端中,您将获得json。将代码更改为以下代码
app.post('/verifyEmail', (req, res) => {
var email = req.body.email;
let sql = 'SELECT count(*) as count FROM email WHERE email = ?';
let query = db.query(sql, [email],(err, result) => {
if (result[0].count == 1) {
res.json({
"data": "valid"
})
} else {
res.json({
"data": "invalid"
})
}
});
});