javascript - 无法获取 /ID (querystring) Express, nodeJS
问题描述
我对 Express 和 nodeJS 很陌生。我正在处理查询字符串和动态网页,它说无法获取 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,并且您正在尝试获取查询字符串。要在 url 上获取 id 作为变量,您必须将路径放在如下位置:
app.get("/:id", (req, res) => {
const id = req.params.id;
})
如果要获取查询字符串,请使用:
app.get("/", (req, res) => {
const id = req.query.id;
})
您需要调用网址,例如:/?id=1
推荐阅读
- python-3.x - 如何在 nummpy 数组上压缩操作,条件过滤器只需要应用于其中一个数组
- php - Liquid 语法错误(第 4 行):预期 end_of_string 但在“forloop.index0 | modulo: 3 == 0”中找到管道
- node.js - 运行 npx 服务时未加载 Index.html(caddy、nodejs)
- sql - 使用日期将年销售额拆分为月销售额
- ios - 如何将 Google Tag Manager for iOS (swift) 与 GCP Recommendations AI 结合使用?
- php - 从 Laravel 中的 XML HTTP 客户端响应中获取特定值
- azure - Azure 云服务无法从本地计算机找到证书
- vmware - 如何从 ESXi 主机命令行中删除 VMware RDM vmdk
- c# - 如何使用向量 + Ms Graph 与 C# office interop 词库在文字自动化中绘制图表(图表)
- python - 仅适用于 tkinter 中的图像的面向对象接口中的初始化路径是什么?