加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何使用angular2的http与应用程序主机端口之外的其

发布时间:2020-12-16 06:39:49 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET解决方案,包含一个托管我的angular2应用程序的web项目和一个web api项目. 这两个项目都设置为启动项目,并在不同的端口上运行(Web项目为45365,Web api项目为20234). 假设我有一个web api控制器公开/ api / values,目前可通过http:// localhos
我有一个ASP.NET解决方案,包含一个托管我的angular2应用程序的web项目和一个web api项目.

这两个项目都设置为启动项目,并在不同的端口上运行(Web项目为45365,Web api项目为20234).

假设我有一个web api控制器公开/ api / values,目前可通过http:// localhost:20234 / api / values访问

如何在我的angular2网络应用程序中访问它?如果我试试

this.http.get("api/values")

它试图访问不需要的http:// localhost:45365 / api / values.但是,我希望它调用http:// localhost:20234 / api / values而不指定包含域的整个URL以使我的服务工作,即使应用程序发布到具有除localhost之外的其他域的公共服务器也是如此.

如何告诉http.get()使用20234作为端口号?

解决方法

constructor(private location:Location,private locationStrategy:LocationStrategy) {}

someMethod() {
  var base = this.locationStrategy.getBaseHref();
  // replace port

  this.location.prepareExternalUrl(base + 'xxx');
}

您可以在转发给Http的服务中实现此功能,因此您无需重复它.

(未测试)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读