Maison >interface Web >js tutoriel >Comment gérer les modifications d'URL pour les applications MVC déployées dans des sous-dossiers ?

Comment gérer les modifications d'URL pour les applications MVC déployées dans des sous-dossiers ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 08:10:03908parcourir

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

Comprendre la modification d'URL pour les sous-dossiers d'application

Lors du développement d'une application MVC déployée dans un sous-dossier, il est essentiel de prendre en compte le changement dans le URL de base. Cela garantit que les références et les URL JavaScript fonctionnent correctement dans les environnements locaux et déployés.

Solution pour déterminer la racine de l'application

Pour déterminer l'URL racine et modifier JavaScript en conséquence, il existe deux approches :

Approche simple :

  • Utilisez le caractère « / » de début dans votre URL JavaScript.
  • Par exemple, lorsque vous référencez le « JobsController » à partir d'une application MVC déployée dans le sous-dossier « Jobs », utilisez l'URL « /jobs/GetIndex » au lieu de « http://site/jobs/GetIndex ».

Approche globale :

  • Exploitez la méthode d'assistance Url.Content de la vue Razor pour générer l'URL de base de l'application.
  • Instancier un objet d'espace de noms JavaScript et attribuer l'URL de base de l'application. à une variable.
  • Utilisez la variable attribuée en JavaScript pour construire d'autres URL.

Exemple d'utilisation de Razor View et de 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>

Approche AngularJS :

Pour les projets AngularJS, utilisez le fournisseur de valeur Angular pour injecter l'URL racine de l'application dans vos contrôleurs, services ou directives, garantissant ainsi la disponibilité d'URL relatives correctes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn