javascript - titel - title tag wordpress




Wie mache ich JS auf das Anwendungsstammverzeichnis aufmerksam? (2)

Ich habe ein JavaScript, das auf /jobs/GetIndex in einem MVC-Projekt /jobs/GetIndex . Dies funktioniert hervorragend, wenn ich es lokal ausführe, da ich einen Controller namens JobsController . Wenn ich es bereitstelle, stelle ich die Anwendung in einem Unterordner "Jobs" http://site/jobs/jobs/GetIndex bedeutet, dass die URL http://site/jobs/jobs/GetIndex aber ich http://site/jobs/jobs/GetIndex , dass sie http://site/jobs/GetIndex Das Javascript weiß nicht, was die "Root-URL" ist, und verwendet die Site als Root. Wie kann ich es in beiden Umgebungen zum Laufen bringen?



Wenn Sie einfach nur die Root- / Basis-URL der Site abrufen möchten, damit Sie diese anhängen können, um die andere URL abzurufen, nach der Sie suchen, können Sie einfach / als erstes Zeichen Ihrer URL verwenden.

var urlToJobIndex2= "/jobs/GetIndex";

Hier ist ein alternativer Ansatz, wenn Sie mehr als nur das App-Stammverzeichnis benötigen (Beispiel: Spezifische URLs (erstellt mit Hilfe von MVC-Hilfsmethoden wie Url.RouteUrl usw.)

Sie können die Url.Content " in Ihrer Rasiereransicht verwenden, um die URL zur App-Basis zu generieren, einer JavaScript-Variablen zuzuweisen und diese in Ihrem anderen JS-Code zum Erstellen Ihrer anderen URLs zu verwenden. Verwenden Sie dabei immer den JavaScript-Namespace, um mögliche Probleme mit globalen JavaScript-Variablen zu vermeiden.

Wenn Sie eine URL zu einer bestimmten Aktionsmethode Url.Action Url.RouteUrl , können Sie die Url.Action oder Url.RouteUrl verwenden.

Sie können dies also in Ihrer Rasiermesseransicht ( Layoutdatei oder in einer bestimmten Ansicht) tun.

<script>
    var myApp = myApp || {};  
    myApp.Urls = myApp.Urls || {};
    myApp.Urls.baseUrl = '@Url.Content("~")';
    myApp.Urls.jobIndexUrl= '@Url.Action("GetIndex","jobs")';
</script>
<script src="~/Scripts/PageSpecificExternalJsFile.js"></script>

Und in Ihrer PageSpecificExternalJsFile.js Datei können Sie es wie PageSpecificExternalJsFile.js lesen

var urlToJobIndex= myApp.Urls.jobIndexUrl;
// Or With the base url, you may safely add the remaining url route.
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex";

Here ist eine ausführliche Antwort darüber, die jedoch in einer bestimmten Seite / Ansicht verwendet wird

Angular Js

Möglicherweise benötigen Sie die richtige (n) relative (n) URL (s) in Ihrem Winkel-Controller / Ihren Diensten / Anweisungen. Der gleiche Ansatz funktioniert auch für Ihren Winkel-Code. Erstellen Sie einfach das js-Namespace-Objekt und übergeben Sie die Daten mithilfe des Angular- value Providers an Ihre Angular-Controller / Services / Direktiven, wie in diesem Beitrag ausführlich mit Beispielcode erläutert.





iis