2016-06-17 2 views
0

Ich kann nicht scheinen, eine ganze URL, z. "http://example.heroku.com/http://www.facebook.com"Wie gebe ich eine vollständige URL mit http, z. "http://www.facebook.com" als Parameter für Knoten/Express "/: param"?

app.get('/:url', function(req, res){ 
    var url = req.params.url; 
    // do something with url... 
} 

ich immer eine Fehlermeldung erhalten, die besagt, "nicht/http://www.facebook.com bekommen kann". Wie komme ich daran vorbei?

+0

http% 3A % 2F% 2Fwww.facebook.com – OrangeDog

+0

Sie sollten * encodeURIComponent * und * decodeURIComponent * http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp verwenden, wodurch die URL in http% 3A% 2F% 2Fwww.facebook.com umgewandelt wird wie @OrangeDog vorgeschlagen – Molda

Antwort

0

Sie können regulären Ausdruck verwenden. Zum Beispiel:

// http://localhost:3000/mountpoint/http://www.facebook.com 
app.get(/^\/mountpoint\/(.*)/, function(req, res) { 
    var url = req.params[0]; 
    res.json(url); 
}); 
2

Einige Zeichen (wie /) haben eine besondere Bedeutung in URLs und müssen codiert werden. Die meisten Programmiersprachen haben eine Funktion (möglicherweise über eine Drittanbieter-Bibliothek), die das für Sie kodieren kann. In JavaScript zum Beispiel ist das .

0

Danke für die Kommentare, Antworten, aber ich habe ich die Wildcard finde heraus, verwenden könnte, und ich konnte die ganzen URL-Parameter erhalten, ohne in die laufenden ‚Kann nicht GET /‘ Fehler

'/*' 
Verwandte Themen