angularjs - 提供 url 到 angular $http.get/.post 的最佳方式

标签 angularjs asp.net-mvc-4 url relative-path angular-http

我在 MVC4 中使用 angular。我想使用 $http.get() 从 javascript 调用 MVC Controller 方法。它需要一个网址(显然)。我希望这是一个相对路径,但我该怎么写呢?我的 Controller 在 Controllers/Api/ExampleController 中。即使我将 javascript 文件移动到另一个位置,我也希望解析路径,这意味着我希望路径相对于应用程序根目录而不是 javascript 文件。我试过“~/Controllers/Api/ExampleControllerMethod”和“Controllers/Api/ExampleController/Method.

最佳答案

$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

关于angularjs - 提供 url 到 angular $http.get/.post 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21019747/

相关文章:

c# - 如果身份角色不是管理员,则从 Web Api 重定向到 MVC Controller

javascript - 使用双击事件时如何取消单击事件

python - 在 Python 抓取脚本中请求多个 url

Android 到达 getInputStream 时崩溃

java - 从任何子域、子文件夹或 ROOT 运行 tomcat 应用程序

javascript - 对于ngRepeat, Angular 编译执行 “only once”是什么意思?

javascript - ngMessage 在 AngularJs 中不起作用

javascript - 使用 Angular/JavaScript 将元素添加到多行数组

c# - 使用子文件夹的 Asp.net MVC 路由

javascript - 如何更改注销按钮以 Angular 登录