ホームページ >ウェブフロントエンド >jsチュートリアル >サブフォルダーにデプロイされた MVC アプリケーションの URL 変更はどのように管理しますか?

サブフォルダーにデプロイされた MVC アプリケーションの URL 変更はどのように管理しますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-29 08:10:03901ブラウズ

How do you manage URL modifications for MVC applications deployed to subfolders?

アプリケーションのサブフォルダーの URL 変更について

サブフォルダーにデプロイされる MVC アプリケーションを開発する場合、サブフォルダー内の変更に対応することが不可欠です。ベース URL。これにより、JavaScript の参照と URL がローカル環境とデプロイされた環境の両方で正しく機能することが保証されます。

アプリケーション ルートを決定するソリューション

ルート URL を決定し、それに応じて JavaScript を変更するには、次のようにします。 2 つのアプローチがあります:

簡単なアプローチ:

  • JavaScript URL の先頭の '/' 文字を利用します。
  • 例: 「Jobs」サブフォルダーにデプロイされた MVC アプリケーションから「JobsController」を参照する場合は、「http://site/jobs/GetIndex」の代わりに URL「/jobs/GetIndex」を使用します。

包括的なアプローチ:

  • Razor ビューの Url.Content ヘルパー メソッドを利用してアプリのベース URL を生成します。
  • JavaScript 名前空間オブジェクトをインスタンス化し、アプリのベース URL を割り当てます。
  • JavaScript で割り当てられた変数を使用して、他の URL を構築します。

Razor View と JavaScript を使用した例:

// Razor View (Layout file or specific view)
<script>
    var myApp = myApp || {}; // Create or extend the myApp namespace
    myApp.Urls = myApp.Urls || {}; // Create or extend the Urls object within myApp
    myApp.Urls.baseUrl = '@Url.Content("~")'; // Assign the app base URL to the baseUrl property
    myApp.Urls.jobIndexUrl = '@Url.Action("GetIndex","jobs")'; // Assign the specific action URL to the jobIndexUrl property
</script>

// PageSpecificExternalJsFile.js
var urlToJobIndex= myApp.Urls.jobIndexUrl; // Access the specific action URL
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex"; // Construct a relative URL using the app base URL
</script>

AngularJS アプローチ:

AngularJS プロジェクトの場合、Angular 値プロバイダーを利用して、アプリケーションのルート URL をコントローラー、サービス、またはディレクティブに挿入し、正しい相対 URL が利用できるようにします。

以上がサブフォルダーにデプロイされた MVC アプリケーションの URL 変更はどのように管理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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