如何使用 $location 在工厂中获取当前 url 的协议主机和端口
Posted
技术标签:
【中文标题】如何使用 $location 在工厂中获取当前 url 的协议主机和端口【英文标题】:How do I use $location to to get the protocol host and port of my current url in a factory 【发布时间】:2014-10-02 03:00:12 【问题描述】:如何获取当前 url 的当前协议主机和端口?
app.factory('actionTypeFactory', ['$resource', function($resource, $location)
return $resource($location.protocol() + '://'+ $location.host() +':'+ $location.port() +'82/somelocation')
]);
我希望网址看起来像这样: http://localhost:80 /somelocation
【问题讨论】:
我收到一个错误 - TypeError: Cannot read property 'protocol' of undefined 请更新此内容,因为这将有助于其他人寻找答案。谢谢 【参考方案1】:您必须注入 $location 服务,这就是它未定义的原因:
app.factory('actionTypeFactory', ['$resource', '$location', function($resource, $location)
return $resource($location.protocol() + '://'+ $location.host() +':'+ $location.port() +'82/somelocation')
]);
【讨论】:
为什么不直接使用$location.absUrl()
?
你是对的,但那是 copypasta 只是为了包含缺少的依赖项@IslamWazery :)
无论如何,最好在你的回答中提出建议。
参考这里了解更多信息 [docs.angularjs.org/api/ng/service/$location]以上是关于如何使用 $location 在工厂中获取当前 url 的协议主机和端口的主要内容,如果未能解决你的问题,请参考以下文章