相关疑难解决方法(0)

如何在Angular2中获取服务的域名

我需要向同一个服务器发出请求,在另一个端口上休息api.

如果不在服务URL中硬编码全名,我怎么能这样做呢?

angular

33
推荐指数
5
解决办法
6万
查看次数

具有.Net核心的Angular App中的基本URL

我用.NET Core开发了很少的angular应用程序,但是每次Angular应用程序都是分开的,而.NET Core API是分开的。

现在我正在使用内置的Angular模板开发Angular应用程序,该模板在同一项目中包含API。

我曾经用完整的URL调用api(通过将基本URL定义为http:// portNumber:在服务中),但是在此内置模板中,这就是我得到的

    export class FetchDataComponent {
  public forecasts: WeatherForecast[];

  constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
    http.get<WeatherForecast[]>(baseUrl + 'api/SampleData/WeatherForecasts').subscribe(result => {
      this.forecasts = result;
    }, error => console.error(error));
  }
}
Run Code Online (Sandbox Code Playgroud)

它的内置组件带有角度模板

这里写成

http.get<WeatherForecast[]>(baseUrl + 'api/SampleData/WeatherForecasts')
Run Code Online (Sandbox Code Playgroud)

经过一番搜索后,我在main.ts中找到了一个方法getBaseUrl(),其常量提供者

   export function getBaseUrl() {
      return document.getElementsByTagName('base')[0].href;
    }
const providers = [
  { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }
];
Run Code Online (Sandbox Code Playgroud)

现在有人可以向我解释如何从此处从Base Url获得 @Inject('BASE_URL')组件而不在服务中共享它吗?

在angularJS中,我曾经在@ url.action的帮助下实现了相同的效果

$http({
        url: "@Url.Action("Action", "Controller")",
        params: …
Run Code Online (Sandbox Code Playgroud)

.net-core asp.net-core angular

5
推荐指数
2
解决办法
1563
查看次数

标签 统计

angular ×2

.net-core ×1

asp.net-core ×1