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

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

Susan Sarandon
リリース: 2024-11-02 03:29:02
オリジナル
612 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート