如何在node js中使用DOM更改文本内容

问题描述 投票:0回答:1

我想做的是 我想在输入错误密码时将

标签更改为错误密码 但出现错误 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}`);
});

我对这一切都是新手所以把我当作一个没有任何经验的人

node.js express
1个回答
0
投票

document
对象是浏览器DOM API的一部分,它在服务器端不可用。在浏览器控制台上,它是
window
对象的属性。
window.document

您正在尝试操作服务器上的 DOM,这是不可能的。您应该在浏览器接收并呈现 HTML 页面后在客户端处理 DOM 操作。为此,您应该在 HTML 文件内有一个

script
标签。

<script>
// inside here you add your logic to access document
<script/>

script
标签将在浏览器上执行,您可以访问此标签内的
document
对象

© www.soinside.com 2019 - 2024. All rights reserved.