Der beste Weg, eine URL für den Winkel $http.get/.post bereitzustellen
-
21-12-2019 - |
Frage
Ich verwende Angular mit MVC4.Ich möchte eine MVC-Controller-Methode aus Javascript mit $http.get() aufrufen.Es erfordert (natürlich) eine URL.Ich möchte, dass dies ein relativer Pfad ist, aber wie schreibe ich das?Mein Controller befindet sich in Controllers/Api/ExampleController.Ich möchte, dass der Pfad auch dann aufgelöst wird, wenn ich die Javascript-Datei an einen anderen Speicherort verschiebe. Das heißt, ich möchte, dass der Pfad relativ zum Anwendungsstammverzeichnis und nicht zur Javascript-Datei ist.Ich habe „~/Controllers/Api/ExampleControllerMethod“ und „Controllers/Api/ExampleController/Method“ ausprobiert.
Lösung 2
Danke für die Ideen, aber diese Art von Ding ist das, wonach ich gesucht habe:
Konfigurieren Sie das WebApiconFIG, um eine Route wie so hinzuzufügen (sollte es als Standard haben):
generasacodicetagpre.So kann ich jetzt $ http.get ('API / {Controller} / {Methode}')
Andere Tipps
Der $location
Der Dienst stellt Informationen aus der URL bereit.Sie könnten also etwas konstruieren, um dann den Host und den Port dynamisch zu machen:
var url = $location.host() + '/Controllers/Api/ExampleControllerMethod';
Aus der Dokumentation:
**url: http://www.example.com/base/path?a=b#h**
$location.protocol() = http
$location.host() = www.example.com
$location.port() = 80
$location.path() = /path
$location.search() = {"a":"b"}
$location.hash() = h
Was für mich funktionierte, war, die URL als "/ ControllerName / Aktion" (anstelle von "ControllerName / Action") bereitzustellen,