Relative URI für die Node.js-Anforderungsbibliothek

8

Ich habe den folgenden Code und node.js kann die URL nicht auflösen:

%Vor%

Gibt es eine gute Möglichkeit, relative Pfade / URLs mit der Anforderungsbibliothek auf einer serverseitigen node.js Express-App zu verwenden?

    
Alexander Mills 13.03.2015, 06:44
quelle

2 Antworten

5

Das Geben nur einer relativen URL funktioniert nur, wenn aus dem Kontext klar ist, was der Root-Teil der URL sein soll. Zum Beispiel, wenn Sie auf stackoverflow.com sind und einen Link /questions finden, ist aus dem Kontext klar, dass die vollständige URL stackoverflow.com/questions sein sollte.

Die Anforderungsbibliothek verfügt nicht über diese Art von Kontextinformationen, sodass die vollständige URL von Ihnen benötigt wird, um die Anforderung ausführen zu können. Sie können natürlich die vollständige URL selbst erstellen, zum Beispiel mit url.resolve() :

%Vor%

Aber das erfordert natürlich immer noch, dass Sie den Root-Teil der URL kennen.

    
Jasper Woudenberg 13.03.2015, 16:11
quelle
2

Jaspers Antwort ist korrekt - das Anfrage-Modul benötigt die vollständige URL. Wenn Sie in einer Situation sind, in der Sie eine Einzelseitenanwendung mit vielen Anfragen an eine API mit derselben Basis-URL haben, können Sie viel tippen, indem Sie ein Modul wie dieses erstellen:

%Vor%

dann, um die Basis-URL zu jeder Zeit zu greifen: requestParser.uriMinusPath

und nehmen Sie den Wert eines beliebigen Abfrageparameters: RequestParser.getQueryStringValue('partner_key');

    
trad 08.06.2016 20:20
quelle

Tags und Links