Angularjs 如何使用$location获取工厂中当前url的协议主机和端口

Angularjs 如何使用$location获取工厂中当前url的协议主机和端口,angularjs,location,factory,Angularjs,Location,Factory,如何获取当前url的当前协议主机和端口 app.factory('actionTypeFactory', ['$resource', function($resource, $location){ return $resource($location.protocol() + '://'+ $location.host() +':'+ $location.port() +'82/somelocation') }]); 我希望url如下所示: http://localhost:80/so

如何获取当前url的当前协议主机和端口

app.factory('actionTypeFactory', ['$resource', function($resource, $location){
  return $resource($location.protocol() + '://'+ $location.host() +':'+  $location.port()  +'82/somelocation')
}]);
我希望url如下所示:
http://localhost:80/somelocation

您必须注入$location服务,这就是它未定义的原因:

app.factory('actionTypeFactory', ['$resource', '$location', function($resource, $location){
  return $resource($location.protocol() + '://'+ $location.host() +':'+  $location.port()  +'82/somelocation')
}]);

我收到一个错误-TypeError:无法读取未定义的属性“protocol”,请更新此属性,因为这将帮助其他人查找答案。谢谢你为什么不直接使用
$location.absUrl()
?你是对的,但这只是为了包含缺少的依赖项@IslamWazery:)无论如何,最好在你的回答中提出建议。有关更多信息,请参阅此处[