2014-04-14 6 views
7

मार्गएक्सप्रेस वापस नहीं करता है सब क्वेरी स्ट्रिंग पैरामीटर

app.get('/pdf/:id', function(req, res) { 

अनुरोध

GET http://localhost/pdf/123?option=456&clientId=789 

मैं केवल

req.query == { option: '456' } 
req.params == { id: '123' } 

कैसे आता है दूसरा क्वेरी पैरामीटर कट जाता है मिल सकता है? मेरे सीमांकक एक मानक '&'

उत्तर

16

आप कर्ल या कुछ टर्मिनल आदेश का उपयोग कर रहे हैं, तो & वहाँ एक विशेष अर्थ नहीं है।

curl 'http://localhost/pdf/123?option=456&clientId=789' 
+0

धन्यवाद, मुझे यह उल्लेख करना चाहिए था कि पहले –

+0

हाँ ... मुझे एक ही समस्या हो रही थी और इस सवाल पर ठोकर खाई थी। –

0

इस कोड काम कर रहा है:

app.get('/pdf/:id', function(req, res) { 
    console.log(req.params); 
    console.log(req.query); 

    res.end(); 
}); 

आउटपुट:

[ id: '123' ] 
{ option: '456', clientId: '789' } 
GET /pdf/123?option=456&clientId=789 200 1ms 
+0

धन्यवाद, लेकिन यह वही है जो मैं कर रहा हूं, नहीं? एक्सप्रेस v3 और v4 पर वही बात। एकमात्र अंतर जो मैं देखता हूं वह यह है कि v4 req.params के लिए ऑब्जेक्ट का उपयोग करता है, एक सरणी नहीं। जब मैं क्वेरी पैरा को फ़्लिप करता हूं, तो केवल पहला ही उपलब्ध होता है। –

संबंधित मुद्दे