簡體   English   中英

傳遞get參數表示路線

[英]Passing a get parameter to express route

我是nodejs的新手,表示並嘗試構建簡單的功能

我有這段代碼可以成功地將我的get請求發送到適當的路由(在這種情況下,我編寫了mysql查詢的服務)

app.get('/requests', service.getRequests);

這適用於簡單的get請求,例如http:// localhost:5000 / requests

我想知道如何從get請求中獲取參數並將其傳遞到路由處理程序中?

例如: http:// localhost:5000 / requests?id = 123之類的東西,我想將id傳遞給service.getRequests函數,但是下面的方法不起作用-

app.get('/request',function(req,res){
  res.send(service.getRequests(req));
});

這是service.js(部分)的樣子

exports.getRequests = function(req,res){
  //console.log(req.id);
  connection.connect()
  connection.query('SELECT * FROM table1 t where t.uid = ? LIMIT 10',[req.id], function (err, result, fields) {
    if (err) throw err
    res.json({ results: result });
  })
  connection.end()
}

編輯:我的問題專門不是如何獲取GET參數,而是如何與res.send一起使用/如何使用此參數調用服務,特別是以下行-

app.get('/request',function(req,res){
  res.send(service.getRequests(req));
});

目前尚不清楚您使用哪個節點模塊向PostgreSQL發送查詢。 但是,假設您使用的是pg ,那么問題是您應該按如下所示放置參數:

SELECT * FROM table1 t where t.uid = $1 LIMIT 10

您可以將端點配置為采用這樣的變量

HTTP://本地主機:5000 /請求/ 123

app.get('/request/:id',function(req,res){
    const id = req.params.id;
    console.log(id); // should display 123
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM