我需要向同一台服务器发出请求,在另一个端口上休息api.
如果没有在服务URL中硬编码全名,我怎么能这样做?
不需要特定于角度2的解决方案.您可以使用
window.location.hostname
获取当前主机名.
但是,请注意,如果您不想直接使用窗口对象等全局变量,则可以提供自己的Window对象,然后可以对其进行注入.因此,您需要在引导应用程序时为Window对象设置提供程序.
import {provide} from 'angular2/core'; bootstrap(...,[provide(Window,{useValue: window})]);
之后,您可以使用window对象并访问主机名,如下所示:
constructor(private window: Window) { var hostname = this.window.location.hostname; }