web-dev-qa-db-ja.com

express.jsミドルウェアリクエストで「#」の後にURLを取得

サーバーミドルウェアのURLを取得する必要があります(express.jsを使用)。私はreq.urlを使用していますが、URLが/#some/urlから始まる場合、req.urlは/...を返します。

req.path ..も同じです。

Express.jsの#の後にURLを取得する方法はありますか?

26
Kosmetika

いいえ。#記号で始まるURLの部分がサーバーに送信されることはありません。

URLの#記号は、 フラグメント識別子 を導入するためのものです。これは、ページの特定の部分にリンクするために使用されます。ブラウザーが/#some/urlをロードすると、/が効果的にロードされ、id="some/url"があるHTML要素にスキップします(存在する場合)。フラグメント識別子はブラウザにのみ関連するため、HTTPリクエストでは送信されません。

ただし、candoは、クライアント側のJavascriptを使用してwindow.location.hashの値を読み取り、送信しますXMLHttpRequestを使用してサーバーに送信します。 ( 他のスタックオーバーフローの投稿を参照してください。

20
dsprenkels