2012-04-04 3 views
1

habe ich ein Problem auf meinem Express Servermehr Variable in Erhaltungs-Anforderung von Express

app.get('/callback/:nation/:username/?:permalink', function(req, res) 
      { 
       nationurl = req.params.nation; 
       username = req.params.username; 
       storypermalink = req.params.permalink; 


       console.log("nation: "+nation); 
       console.log("username: "+username); 
       console.log("permalink: "+permalink); 
      }); 

Beacause der /?: es die Benutzername aufgeteilt und gibt nicht meine Permalink:

nation: poneyclub 
username: j 
permalink: hondoe 

Hat jemand eine Idee?

+0

Könnten Sie bitte auch die URL posten, mit der Sie dieses Ergebnis erhalten haben. – enyo

Antwort

6

Dies liegt daran, ? ist ein Sonderzeichen im Express-Routing-Algorithmus. Einzelheiten finden Sie unter the documentation.

Wenn Sie URL Express eingeben behandelt alles nach ? Zeichen als Abfrage. Es sollte

?key1=value1&key2=value2&...&keyX=valueX 

in einem Format sein, und es kann mit req.query abgerufen werden.

Sie können dieses Standardverhalten mit Ihrem eigenen regulären Ausdruck in route ändern (siehe auch the documentation für Details).

+0

req.query funktioniert! Vielen Dank – zobi8225