Ich benutze JavaScript-Code, um eine MVC-Web-API aufzurufen. Es funktioniert gut, wenn der Strompfad ist:MVC "~" Pfad in Javascript
http://localhost/myApp/Administrator
aber es funktioniert nicht, wenn Strompfad ist:
http://localhost/myApp/Administrator/
ich den Fehler The resource cannot be found
bekommen. Unten ist der Code:
$.getJSON("api/UserApi",
function (data) {
...
});
Ich will nicht eine absolute URL im Code verwenden, z.B .:
$.getJSON("http://localhost/myApp/api/UserApi",
function (data) {
...
});
Die absolute URL in Ordnung funktioniert, aber es fehlt die Flexibilität. Gibt es eine Möglichkeit, dasselbe wie unten zu tun?
$.getJSON("~/api/UserApi",
function (data) {
...
});
ASP.NET den Austausch der Zeichen "~" mit der aktuellen Anwendung Root-Pfad unterstützt, zB:
http://localhost/myApp
jedoch das Zeichen "~" ist nicht in JavaScript-Dateien unterstützt . Wie erreiche ich das Gleiche?
Das JavaScript befindet sich in einer eigenständigen Datei, die keine ASP.NET-Anweisungen wie Url.Content
verwenden kann. Gibt es einen besseren Weg, es zu tun?
Ich habe die folgende Methode gefunden. Gibt es bessere Lösungen ?:
1) Schreiben Sie den Code unten in einer .cshtml Datei
2) Lesen Sie die currentDomain
Variable aus der J-Datei:
$.getJSON(currentDomain + "/api/UserApi",
function (data) {
...
});
Link zu Rasiermesser funktioniert nicht mehr – Alok