Bestimmen des Anwendungsstamms in JavaScript
Bei der Webentwicklung ist es häufig erforderlich, dass JavaScript auf den Stamm oder die Basis-URL der Anwendung zugreift. In ASP.NET MVC-Anwendungen kann der Anwendungsstamm je nach Bereitstellung variieren.
Problem:
Wenn JavaScript auf eine URL wie „/jobs/GetIndex“ verweist Wenn Sie den Code nicht verwenden, funktioniert er möglicherweise nicht richtig, wenn die Anwendung in einem Unterordner wie „Jobs“ bereitgestellt wird. Dies liegt daran, dass die URL in „http://site/jobs/GetIndex“ statt in „http://site/jobs/jobs/GetIndex“ aufgelöst wird.
Lösung 1: Absolute Pfadverwendung Schrägstrich
Eine einfache Lösung besteht darin, am Anfang der URL einen Schrägstrich („/“) einzufügen. Dadurch wird sichergestellt, dass die URL relativ zum Anwendungsstamm aufgelöst wird. Zum Beispiel:
var urlToJobIndex2= "/jobs/GetIndex";
Lösung 2: Namespaced JavaScript-Variablen
Für einen dynamischeren Ansatz erstellen Sie einen JavaScript-Namespace und weisen Sie die Stamm-URL der Anwendung einer Variablen zu. Wenn Sie dann andere URLs erstellen müssen, können Sie diese an die Basis-URL anhängen.
Verwenden Sie in Ihrer Razor-Ansicht die Hilfsmethode Url.Content, um die Basis-URL zu generieren und sie einer Namespace-Variablen zuzuweisen. Stellen Sie sicher, dass Sie den JavaScript-Namespace verwenden, um Konflikte mit globalen Variablen zu vermeiden:
<script> var myApp = myApp || {}; myApp.Urls = myApp.Urls || {}; myApp.Urls.baseUrl = '@Url.Content("~")'; </script>
In Ihrer JavaScript-Datei können Sie auf die Basis-URL zugreifen:
var urlToJobIndex= myApp.Urls.jobIndexUrl;
Sie können die Basis-URL auch kombinieren mit zusätzlichen Routen zum Erstellen anderer URLs. Zum Beispiel:
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex";
Das obige ist der detaillierte Inhalt vonWie ermittelt man den Anwendungsstamm in JavaScript für ASP.NET MVC-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!