所以我有一个像这样的简单登录页面:
<form class="form-container" method="post" action="/login">
<div class="container">
<label for="username"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label for="password"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
<div id="alertContainer" class="alert-container">{{data}}</div>
<button type="submit">Login</button>
<label>
<input type="checkbox" checked="checked" name="remember"> Remember me
</label>
</div>
</form>
请注意,alertContainer
是一个div,用于显示任何错误。例如,如果找不到用户名,我想在此处显示"Username not found"
,因此handlebars
语法{{data}}
我使用快递的后端POST
请求如下:
app.post('/login', function(req, res) {
var user = //find user in database;
if(!user) {
var data = "Username not found";
// somehow get to page to display data
}
// do other things
});
问题是我只知道如何重新渲染页面以传入数据。但我只希望显示一个简单的错误字符串alertContainer
而不刷新整个页面。当然,我可以在Ajax
页面的底部添加一些html
脚本,但我不确定如何使其工作。
答案 0 :(得分:0)
试试这个:
if(!user){
document.getElementById(&#34; alertContainer&#34;)。innerHTML =&#34;未找到用户名&#34 ;;
}