Я новичок в nodejs и пытаюсь отправить ответ от nodejs на ajax на стороне клиента. Все работает нормально, но проблема в том, что ответ получен на чистой стороне, открывается новая страница, и ответ отображается на этой странице. Это означает, что основная функциональность ajax не выполняется. Я хочу, чтобы ответ ajax отображался на той же странице. Пожалуйста помоги!!
Ниже код моего сервера:
app.post('/auth',function(req, res){
console.log(req.body);
var username=req.body.username;
var password=req.body.password;
var obj={};
if(username&&password){
connection.query('select * from signup where username=? and password=?',[username,password],function(err, result){
if(err) throw err;
if(result!=0)
{
req.session.loggedin=true;
req.session.username=username;
return res.redirect('/home');
}
obj={'message':'Incorrect Username and/or Password'};
obj=JSON.stringify(obj);
res.send(obj);
});
}
});
Это мой код на стороне клиента. Я хочу, чтобы ответ отображался внутри ярлыка с идентификатором «неправильный хвост», но он печатается на другой странице.
Ниже мой вызов jquery ajax:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#submitbut').click(function(){
$.ajax({
type: 'POST',
dataType: 'json',
url: 'http://localhost:3000/auth',
success: function(response) {
$('#wrongdetail').html("<b>"+response.message+"</b>");
}
});
});
});
</script>
<!DOCTYPE html>
<html>
<head>
<title>Login page</title>
</head>
<body>
<div class="login-form">
<h3>Sign In</h3>
<form action="auth" method="post" class="form-content">
<label for="username"><b>Username</b></label>
<input type="text" name="username" placeholder="Enter Username ..." id="usernm" required>
<label for="password"><b>Enter Password</b></label>
<input type="password" name="password" placeholder="Enter Password ..." id="passwd" required>
<label for="wrong" id="wrongdetail"></label>
<button id="submitbut">Login</button>
</form>
</div>
</body>
</html>