Nodejs + Express:如何获取发出 HTTP GET 请求的元素?
Nodejs + Express: How to get an element which made an HTTP GET request?
我正在使用 Express 创建前台。我有一个 table,其中每一行都有一个发出 GET 请求的 link,以便后端(用 node.js 完成)returns 一个与该行对应的文件.
所有 link 都会像 "/documents/table/file"
一样发出 url GET 请求。
我打算做的是让我的快递服务器能够知道哪一行的 link 使用它的 req
字段发出 GET 请求,以便能够 return相应的请求文件。
请求在我的快递服务器中处理如下:
router.get('/documents/table/file', async (req, res) =>{
//Get which element made the get petition
});
正如我之前所说,我打算知道 link 从 table 的哪一行使用 req
字段执行请求。
简而言之:你不可能知道这个。
通常处理的方式是,如果需要针对特定项目(或 table 中的行)进行请求,则需要在 url 中添加一些相关信息,以便识别自己做。
因此,如果它是对 /foo/get-file
的 GET
请求,并且每个 'file' 都有某种唯一 ID,您可能需要将 url 更改为 /foo/get-file/123
或 /foo/get-file?id=123
是否要使用 get
命令访问特定文件?如果是这样,这里有一个答案 - .
更准确地说,你写了类似 router.get('/documents/table/file/:id)
的东西,而这个 :id
在 req.params
对象中可用。
您需要传递有关发出GET
请求的行/项目的信息,这是必须的。
现在 Express
有两种方法可以做到这一点:Express routing
。
1.定义路由参数: req.params
GET
请求:/documents/table/file/345
(345 是行标识符 name or id
等)
在 nodejs express 结尾:
router.get("/documents/table/file/:id", (req, res) => {
/*request parameter with this kind of route sits in req.params*/
console.log(req.params);
const requestedId = req.params.id;
});
2。作为查询字符串参数发送: req.query
GET
请求:/documents/table/file?id=345
在 nodejs express 结尾:
router.get("/documents/table/file/", (req, res) => {
/*request parameter with this kind of route sits in req.query*/
console.log(req.query);
const requestedId = req.query.id;
});
我正在使用 Express 创建前台。我有一个 table,其中每一行都有一个发出 GET 请求的 link,以便后端(用 node.js 完成)returns 一个与该行对应的文件.
所有 link 都会像 "/documents/table/file"
一样发出 url GET 请求。
我打算做的是让我的快递服务器能够知道哪一行的 link 使用它的 req
字段发出 GET 请求,以便能够 return相应的请求文件。
请求在我的快递服务器中处理如下:
router.get('/documents/table/file', async (req, res) =>{
//Get which element made the get petition
});
正如我之前所说,我打算知道 link 从 table 的哪一行使用 req
字段执行请求。
简而言之:你不可能知道这个。
通常处理的方式是,如果需要针对特定项目(或 table 中的行)进行请求,则需要在 url 中添加一些相关信息,以便识别自己做。
因此,如果它是对 /foo/get-file
的 GET
请求,并且每个 'file' 都有某种唯一 ID,您可能需要将 url 更改为 /foo/get-file/123
或 /foo/get-file?id=123
是否要使用 get
命令访问特定文件?如果是这样,这里有一个答案 -
更准确地说,你写了类似 router.get('/documents/table/file/:id)
的东西,而这个 :id
在 req.params
对象中可用。
您需要传递有关发出GET
请求的行/项目的信息,这是必须的。
现在 Express
有两种方法可以做到这一点:Express routing
。
1.定义路由参数: req.params
GET
请求:/documents/table/file/345
(345 是行标识符 name or id
等)
在 nodejs express 结尾:
router.get("/documents/table/file/:id", (req, res) => {
/*request parameter with this kind of route sits in req.params*/
console.log(req.params);
const requestedId = req.params.id;
});
2。作为查询字符串参数发送: req.query
GET
请求:/documents/table/file?id=345
在 nodejs express 结尾:
router.get("/documents/table/file/", (req, res) => {
/*request parameter with this kind of route sits in req.query*/
console.log(req.query);
const requestedId = req.query.id;
});