javascriptを使用してMVCアプリケーションのベースURLを取得する方法
javascriptを使用してベースURLを取得するにはどうすればよいですか?
例:ビジュアルスタジオから自分のサイトを閲覧したとき、URLが「http://localhost:20201/home/index」であれば、「http://localhost:20201」を取得したい。
IISでサイトをホストしている場合、仮想ディレクトリ名がMyAppでURLがhttp://localhost/MyApp/home/index
であれば、http://localhost/MyApp
を取得したいです。
私は location.protocol
+ location.hostname
(と location.host
) を使ってみました。Visual Studio で私のサイトをブラウズするときはうまくいきますが、IIS でホストするときは http://localhost
となり、/MyApp は切り捨てられます。
28
3
JavaScript(クライアント)はあなたのデプロイメント(MyApp)について何も知らず、pathinfoの一部として扱うので、これは不可能だと思います(ちょうど/home/indexのような)。回避策として、ドメインやポートに応じてpathinfo(location.pathname)を解釈することを試みることができます。
しかし、パスを含むJavaScript変数をグローバルスコープ(またはあなたが望むもの)に設定することができます(パスはサーバーによって生成され、変数に格納されます)。
これは、html-Headに次のように記述することができます。
以下のコードを試してみてください。
ありがとうございます。
Siva