ホームページ  >  記事  >  ウェブフロントエンド  >  ASP.NET MVC アプリケーションの JavaScript でアプリケーション ルートを確認するにはどうすればよいですか?

ASP.NET MVC アプリケーションの JavaScript でアプリケーション ルートを確認するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 03:29:02527ブラウズ

How to Determine the Application Root in JavaScript for ASP.NET MVC Applications?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。