2016-05-16 2 views
1

Ich versuche, eine URL http://localhost:3000/new/https://www.example.com an router.get('/new/:url', function..) zu übergeben, aber anstelle der URL (https://www.example.com) in req.params.url, führt dieser Link http://localhost:3000/new/https://www.example.com zu 404 Not Found Fehler. Obwohl andere Parameter gut funktionieren, z. http://localhost:3000/new/www.example.comWie übergebe ich eine URL als Parameter in der router.get() Methode?

Code:

var router = express.Router(); 
router.get('/new/:url', function(req, res...); 

Jede mögliche Hilfe würde geschätzt!

+1

Es sieht aus wie Sie vergessen, Ihre URL-Komponenten zu verschlüsseln, sollte es sein: 'http: // localhost: 3000/neu/https% 3A% 2F% 2Fwww.beispiel.com' –

+0

@JuanMendes danke für Ihre Antwort ..Andere Benutzer werden die URL nicht codieren, sondern in meinem Code. –

+0

Geben Benutzer diese URL direkt ein? –

Antwort

1

Wenn Sie versuchen, normale unverschlüsselte URL als Abfrage param anhängen, es führt zu neuen Weg

http://localhost:3000/new/https://www.example.com eine völlig neue URL wird, die nicht in Ihrem Server

Eine Möglichkeit zur Verfügung stehen kann die passieren URL ist zu kodieren als @Juan Mendes erwähnt http://localhost:3000/new/https%3A%2F%2Fwww.example.com

Allerdings gibt es eine Arbeit um, verwenden Sie Platzhalter wie "/ new/*". Boom

+0

Vielen Dank! Es hat für mich funktioniert ... –

Verwandte Themen