Javascript 无法获取/ID(querystring)Express,nodeJS

Javascript 无法获取/ID(querystring)Express,nodeJS,javascript,node.js,express,Javascript,Node.js,Express,我对表达和点头很陌生。 我正在处理查询字符串和动态网页,它说无法获取id。 我不知道哪里出了问题。 任何帮助都将不胜感激 const express = require('express'); const app = express(); const port = 3000; const fs = require('fs'); app.get('/', (req, res) => { fs.readdir('./data', (err, list) => {

我对表达和点头很陌生。 我正在处理查询字符串和动态网页,它说无法获取id。 我不知道哪里出了问题。 任何帮助都将不胜感激

const express = require('express');
const app = express();
const port = 3000;
const fs = require('fs');

app.get('/', (req, res) => {
    fs.readdir('./data', (err, list) => {
        fs.readFile(`data/${req.query.id}`, 'utf8', (err, data)=>{
            if(!req.query.id){
                req.query.id = "Welcome";
                data = "Hello World";
            }
            res.send(`<html>
            <head></head>
            <body>
            <h1><a href="#">Web<a></h1>
            <ul>
            ${list.map(item=>`<li><a href="/id?=${item}">${item}</a></li>`).join('')}
            </ul>
            <a href="create">Create</a>
            <h2>${req.query.id}</h2>
            <p>${data}</p>
            </body>
            </html>`)
        })
    })
})

app.listen(port, () => {
    console.log(`Example app listening at http://localhost:${port}`);
});



可能您正在调用类似于/id的url,并尝试获取查询字符串。 要将get id作为url上的变量,必须将其放在如下路径上:

app.get("/:id", (req, res) => {
    const id = req.params.id;
})
如果要获取查询字符串,请使用:

app.get("/", (req, res) => {
    const id = req.query.id;
})

您需要像这样调用url:/?id=1

我发现。。是/?id=${item},不是/id?=${item}

您看到的确切错误消息是什么?@Pointy my bad。错误表示无法获取/id