Ich habe ein .NET MVC3
-Projekt bekommen, das gerade auf einen tatsächlichen Server innerhalb eines virtuellen Verzeichnisses verteilt wurde. Nennen wir es VirtDir
. Meine JavaScript-Dateien hatten alle URLs für AJAX wie folgt definiert:
was lokal gut funktioniert hat.
Auf dem tatsächlichen Server, der zuerst "/" das virtuelle Verzeichnis beendet, bekomme ich
"/Home/Save/"
anstelle von "/VirtDir/Home/Save/"
, was offensichtlich fehlschlägt.
Wenn ich das erste "/" lösche, werden die Dinge lokal unterbrochen, was dazu führt, dass die URL an die URL der aktuellen Seite angehängt wird: Wenn Sie sich auf "/Home/Index"
page befinden, würde die AJAX-URL auf
"/Home/Index/Home/Save"
.
Mein JavaScript befindet sich in separaten * .js Dateien, daher kann ich nicht wirklich @Url.Content
auf sie schreiben.
Weiß jemand eine gute Lösung für dieses Problem?
Sie können Ihrer Layoutdatei oder Masterseite, die das Stammverzeichnis in eine JS-Variable schreibt, Code hinzufügen, bevor Sie die JS-Datei einfügen. Dann können Sie diese Variable verwenden, um den Pfad in Ihrer JS-Datei zu erstellen.
Im Rasiermesser:
%Vor%Dann können Sie einfach Ihre URL wie folgt in Ihrer Datei erstellen:
%Vor%Tags und Links asp.net-mvc-3 jquery iis ajax url-routing