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?
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()
:
Aber das erfordert natürlich immer noch, dass Sie den Root-Teil der URL kennen.
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');
Tags und Links javascript node.js express