2011-12-14 17 views
36

की मैं इस तरह मार्ग मिलता है मान लीजिए: तोप्राप्त पैरामीटर वाला Node.js/एक्सप्रेस मार्ग

app.get('/documents/format/type', function (req, res) { 
    var format = req.params.format, 
     type = req.params.type; 
}); 

अगर मैं बनाने की तरह

http://localhost:3000/documents/json/mini 
मेरी प्रारूप में

अनुरोध और प्रकार चर हो जाएगा ' जेसन 'और' मिनी 'क्रमशः, लेकिन अगर मैं

http://localhost:3000/documents/mini/json 

जैसे अनुरोध करता हूं। तो मेरा सवाल है: मैं अलग-अलग क्रम में वही चर कैसे प्राप्त कर सकता हूं?

+1

आप नहीं 'दस्तावेज/मिनी/json' है' प्रारूप == mini' और 'टाइप करें यह प्राप्त कर सकते हैं == json '। यूआरएल पैरामीटर के unordered बैग नहीं हैं – Raynos

उत्तर

110

आपका मार्ग ठीक नहीं है, तो वह ऐसा होना चाहिए (साथ ':')

app.get('/documents/:format/:type', function (req, res) { 
    var format = req.params.format, 
     type = req.params.type; 
}); 

इसके अलावा, आप पैरामीटर के क्रम दुर्भाग्य से अदला-बदली नहीं कर सकते। req.params (और req.query) पर अधिक जानकारी के लिए एपीआई संदर्भ here देखें।

+0

alessioalex प्रतिक्रिया के लिए धन्यवाद! – Erik

+1

// var sanitizer = आवश्यकता ('sanitizer'); var प्रारूप = sanitizer.escape (req.params। प्रारूप); आपको वास्तव में परिणाम को स्वच्छ करना चाहिए। अन्यथा आपकी वेबसाइट में बड़ी भेद्यता – user3806549

17

, आमतौर पर इस्तेमाल किया domain.com/test?format=json&type=mini प्रारूप के लिए जा रहा पर विचार करें तो आप आसानी से के माध्यम से

app.get('/test', function(req, res){ 
    var format = req.query.format, 
     type = req.query.type; 
}); 
+0

धन्यवाद है। आपका जवाब मेरे लिए भी उपयोगी है! – Erik

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