如何获取当前位置的基本URL?

时间:2019-01-30 13:02:10

标签: angularjs

我想获取当前位置的基本URL,但是我有2种情况。

  1. http://localhost:6111/Page.aspx 基本网址:localhost:6111

  2. http://localhost/myApp/Page.aspx 基本网址:localhost / myApp

我希望能够有一种解决方案来检索两个基本URL。 你们有什么建议吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

这是您应该做的

获取整个路径,然后排除文件部分

let absUrl = $location.absUrl();
let expected = absUrl.replace('Page.aspx', '');

或者如果文件名一直都不相同

let expected = absUrl.replace(/([a-z]+\.[a-z]+)/i, '');

答案 1 :(得分:0)

对于第一种情况,您可以执行此操作(如$location API的建议):

// url -> http://localhost:6111/Page.aspx
let host = $location.host();
// host => localhost:6111

对于第二种情况,我认为您需要同时使用 $ location.host() $ location.url()。然后操作url仅获得第一部分。

// url -> http://localhost/myApp/Page.aspx
let host = $location.host(); // localhost
let url = $location.url(); // /myApp/Page.aspx
let splittedUrl = url.split('/'); // ["", "myApp", "Page.aspx"]
let resultBaseUrl = host + "/" + splittedUrl[1]; // localhost/myApp

我不确定第二种解决方案,请对其进行测试并提供反馈!