我想做的是 我想在输入错误密码时将
标签更改为错误密码 但出现错误 ReferenceError:文档未定义 这是我的 HTML 文件
<form action="/check" method="POST">
<label for="password">Password:</label>
<input type="text" id="password" name="password" required>
<input type="submit" value="Submit">
<p></p>
</form>
这是我的 javascript 文件内容
import express from "express";
import {dirname} from "path";
import { fileURLToPath } from "url";
import bodyParser from "body-parser";
const __dirname = dirname(fileURLToPath(import.meta.url));
const app = express();
const port = 3000;
const pass = "ILoveProgramming";
var enter = "";
app.use(bodyParser.urlencoded({extended:true}));
function checker(req, res, next){
enter = req.body.password;
console.log(enter);
next();
}
app.use(checker);
app.get("/", (req,res) =>{
res.sendFile(__dirname +"/public/index.html");
});
app.post("/check",(req,res)=>{
if(pass === enter){
res.sendFile(__dirname+"/public/secret.html");
}
else{
document.querySelector("p").textContent("The paswrd is wrong");
console.log("The password is incorrect");
}
// console.log(enter);
});
app.use(bodyParser);
app.listen(port, () =>{
console.log(`server is live at ${port}`);
});
我对这一切都是新手所以把我当作一个没有任何经验的人
document
对象是浏览器DOM API的一部分,它在服务器端不可用。在浏览器控制台上,它是 window
对象的属性。 window.document
。
您正在尝试操作服务器上的 DOM,这是不可能的。您应该在浏览器接收并呈现 HTML 页面后在客户端处理 DOM 操作。为此,您应该在 HTML 文件内有一个
script
标签。
<script>
// inside here you add your logic to access document
<script/>
script
标签将在浏览器上执行,您可以访问此标签内的document
对象