MVC4で角度を使用しています。$http.get() を使用して JavaScript から MVC コントローラー メソッドを呼び出したいと思います。URLが必要です(明らかに)。これを相対パスにしたいのですが、どのように書けばよいでしょうか?私のコントローラーは Controllers/Api/ExampleController にあります。javascript ファイルを別の場所に移動した場合でも、パスを解決したいと思います。つまり、パスを javascript ファイルではなく、アプリケーション ルートからの相対パスにしたいと考えています。「~/Controllers/Api/ExampleControllerMethod」と「Controllers/Api/ExampleController/Method.
12008 次
3 に答える
3
この$location
サービスは、URL から情報を提供します。したがって、ホストとポートを動的にする何かを作成できます。
var url = $location.host() + '/Controllers/Api/ExampleControllerMethod';
ドキュメントから:
**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
于 2014-01-09T12:16:56.913 に答える
1
アイデアをありがとう、しかしこの種のものは私が探していたものです:
次のようにルートを追加するように WebApiConfig を構成します (デフォルトである必要があります)。
config.Routes.MapHttpRoute(
name: "ApiMethods",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
だから今私は行くことができます $http.get('api/{controller}/{method}')
于 2014-01-09T15:51:16.973 に答える
1
私にとってうまくいったのは、URLを「/ ControllerName / Action」(「ControllerName / Action」ではなく)として提供することでした
于 2016-01-03T03:57:58.453 に答える