2016-11-14 56 views
0
$http.get('localhost:8080/myApp/Login).success(function() {..... 
….. 
… 
}); 

我想用主机替换'localhost:8080/myApp我将在那个时候部署我的项目与项目名称...

我在做什么是使用角我将URL映射到弹簧控制器方法。所以,我不希望它是静态的我想要的“localhost:8080 /对myApp进行动态拍摄地点,我用项目名称部署我的项目...

工作时 项目名称:对myApp 主机:本地主机:8080

当部署 项目名称:所有MyApplication 主持人:www.xyz.com

所以我 $ http.get('www.xyz.com/myApplication/Login)。成功(function(){... ...。 ...});

更新:我也希望我的项目名称将自动采取在我的JS和Java控制器是有

+0

请勿硬编码主机名,而只使用您的JSP/HTML中的URI – developer

+1

可能的[如何更改co在Eclipse中动态Web项目的ntext根?](http://stackoverflow.com/questions/2437465/how-to-change-context-root-of-a-dynamic-web-project-in-eclipse) – developer

回答

1

$location服务确实提供了从URL信息。所以,你可以建造东西,然后进行动态主机:

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo 
var host = $location.host(); 
// => "example.com" 

// given URL http://user:[email protected]:8080/#/some/path?foo=bar&baz=xoxo 
host = $location.host(); 
// => "example.com" 
host = location.host; 
// => "example.com:8080" 

首先,你需要在你的服务声明$location那么你可以提取动态位置主机端口。

为了更多地了解$location服务请angular api doc

提取项目名称:

对于提取谟的名字使我的自定义方法,从$location.absUrl()使用获得的项目名称如下功能:

var url= $location.absUrl(); 
    url= getProjectName(url); 

function getProjectName(url){ 
      var index,int; 
      for (int = 0; int <3; int++) { 
       index = url.indexOf("/"); 
       url= url.substring(index+1); 
      } 
      var index = url.indexOf("/"); 
      url = url.slice(0, index); 

      return url; 
     } 
+0

I也希望我的项目名称被自动采用...即我的Js,Java控制器在那里的项目名称.. – Aman

+0

我使用自定义方法从'$ location.absUrl()提取项目名称' 检查在编辑部分答案 –