2013-02-03 21 views
12

Tôi đã yêu cầu được gửi đến máy chủ:Làm cách nào để phân tích các biến trong chuỗi truy vấn bằng Express?

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

Sử dụng nhanh, làm thế nào để tôi nhận được những giá trị này?

Tôi đã thử những điều sau đây ...

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

... tuy nhiên nó dường như không nhận ra con đường.

Cảm ơn (trước) để được trợ giúp.

+0

Tôi chưa thử điều này, nhưng bạn nên thử/stuff? A =: a & b =: b & c =: c – chovy

Trả lời

19

Bạn không nên sử dụng chuỗi truy vấn bên trong tuyến đường.

Trong logic Express, bạn cần tạo tuyến đường cho "/ stuff". Chuỗi truy vấn sẽ có sẵn trong req.query.

+5

Để thêm vào điều này, Express nêu rõ "Chuỗi truy vấn không được xem xét khi thực hiện các kết quả phù hợp" - http://expressjs.com/api.html –

20

Bạn có thể khai báo tuyến đường của mình trực tiếp với /stuff, sau đó truy vấn thông số có thể truy cập thông qua req.query, là đối tượng JSON. Dưới đây là ví dụ của bạn:

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

Trong trường hợp của bạn, req.query bằng:

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

Trong tài liệu Express (hoặc 4.x và 3.x), bạn có thể tìm thấy ví dụ bổ sung: Express - req.query .

Các vấn đề liên quan