所以,我正在嘗試創建一個帳戶系統,我制作了一個有效的登錄系統,但是當您輸入錯誤的憑據時,我希望它在 ab 的值為空時顯示“錯誤的用戶名或密碼”
標簽,問題是我不知道如何訪問
來自 app.js 的標簽(node.js 專案)
<div class="form">
<form class="login-form" action="/account" method="post">
<p id = "check"></p>
<h1 id = "login-text">Login</h1>
<label style="color:white;">Username:</label>
<input type="text" id = "username" placeholder="Enter Username" name="username" required>
<label style="color:white;">Password:</label>
<input type="password" id = "password" placeholder="Enter Password" name="password" required>
<button type="submit">Login</button>
<a href="register"><h5>register</h5></a>
</form>
</div>
</div>
app.post('/account', (req, res) => {
const username = req.body.username;
const password = req.body.password;
con.query("USE discbin")
con.query('SELECT * FROM accounts WHERE username = ?', [username], function (err, result, fields) {
if (err) throw err;
if (result.length > 0 && result[0].password === password) {
console.log(result[0].username " logged in!")
res.render('account');
}
else {
console.log("a user tried to login using the username: " username)
//set <p> to "wrong username or password"
}
});
});
uj5u.com熱心網友回復:
document.getElementById("check").textContent = "wrong username or password";
- 獲取要更新的元素
document.getElementById("check") - 將其
textContent屬性設定為您要使用的文本
uj5u.com熱心網友回復:
我認為這是一個XY 問題。據我所知,無法直接從服務器訪問 DOM 元素,但是,您可以在客戶端使用少量 JavaScript 實作相同的結果。
例如,服務器回應可能是身份驗證成功的 JSON 物件,如下所示:
{
auth: true,
//some token I guess...
}
并且在身份驗證失敗時:
{ auth: false }
然后,您可以使用 JavaScript 訪問您想要的元素并使用 innerHTML 方法修改其內容。在您的情況下,您可以存盤要顯示的字串并根據服務器回應對其進行修改。
let checkStringVariable = "";
在服務器回應上:
checkStringVariable = response.auth ? "" : "wrong username or password";
document.getElementbById("check").innerHTML = checkStringVariable;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/312557.html
標籤:javascript html 节点.js 表达 ejs
