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.

War es hilfreich?

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,

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top