JavaScript でのアプリケーション ルートの決定
Web 開発では、多くの場合、JavaScript がアプリケーションのルート URL またはベース URL にアクセスすることが必要になります。 ASP.NET MVC アプリケーションでは、アプリケーション ルートはデプロイメントによって異なる場合があります。
問題:
JavaScript が "/jobs/GetIndex" のような URL を参照する場合このコードは、アプリケーションが「Jobs」などのサブフォルダーにデプロイされている場合、正しく動作しない可能性があります。これは、URL が「http://site/jobs/jobs/GetIndex」ではなく「http://site/jobs/GetIndex」に解決されるためです。
解決策 1: 絶対パスを使用するスラッシュ
簡単な解決策は、URL の先頭にスラッシュ (「/」) を追加することです。これにより、URL がアプリケーション ルートに対して相対的に解決されることが保証されます。例:
var urlToJobIndex2= "/jobs/GetIndex";
解決策 2: 名前空間を持つ JavaScript 変数
より動的なアプローチの場合は、JavaScript 名前空間を作成し、アプリケーションのルート URL を変数に割り当てます。その後、他の URL を構築する必要がある場合は、それらをベース URL に追加できます。
Razor ビューで、Url.Content ヘルパー メソッドを使用してベース URL を生成し、それを名前空間変数に割り当てます。グローバル変数との競合を避けるために、必ず JavaScript 名前空間を使用してください:
<script> var myApp = myApp || {}; myApp.Urls = myApp.Urls || {}; myApp.Urls.baseUrl = '@Url.Content("~")'; </script>
JavaScript ファイルでは、ベース URL にアクセスできます:
var urlToJobIndex= myApp.Urls.jobIndexUrl;
ベース URL を結合することもできます他の URL を作成するための追加ルートを使用します。例:
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex";
以上がASP.NET MVC アプリケーションの JavaScript でアプリケーション ルートを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。