2013-02-03 57 views
12

我有一個請求被髮送到服務器:如何使用Express解析查詢字符串中的變量?

"/stuff?a=a&b=b&c=c" 

使用快遞,我該如何獲取這些值?

我曾嘗試以下...

app.get("/stuff?:a&:b&:c", function(req, res){}); 

但它似乎......無法識別的路線。

(提前)感謝您的幫助。

+0

我還沒有嘗試過這個,但是你應該嘗試/ stuff?a =:a&b =:b&c =:c – chovy

回答

19

在路由中使用查詢字符串不是一個好主意。

在Express邏輯中,您需要爲「/ stuff」創建一個路由。查詢字符串將在req.query中可用。

+5

爲了補充說明,Express明確指出「執行這些匹配時不考慮查詢字符串」 /expressjs.com/api.html –

20

您可以直接使用/stuff聲明路由,然後通過req.query(這是一個JSON對象)訪問查詢參數。 這裏是你的榜樣:

app.get("/stuff", function(req, res) { 
    var a = req.query.a; 
    ... 
}); 

在你的情況,req.query等於:

{ a: 'a', 
    b: 'b', 
    c: 'c' } 

在快車的文檔(無論4.x版和3.x),你可以找到更多的例子: Express - req.query