首页 > 解决方案 > Angular App 指向 localhost 而不是远程服务器进行数据请求

问题描述

我正在尝试使用http://server:3000连接到远程 node.js 服务器。当我向服务器查询数据时,我没有得到任何数据。我查看浏览器调试器,发现它正在查找 localhost:3000/page,显然没有得到任何数据。app.module.ts 的一部分

`   providers: [DateRangeService, CategoryserviceService,
  { provide: APP_BASE_HREF, useFactory: getBaseUrl }]
   // providers: [DateRangeService]
  })
 export class AppModule { }

export function getBaseUrl() {
  return document.getElementsByTagName('base')[0].href;
}`

调用代码看起来像这样 constructor(http: Http, private drs: DateRangeService, @Inject(APP_BASE_HREF) private baseurl: string) { this.demoId = "ex1"; this.http = http; } ... this.http.get(this.baseurl + volumeURL, { params: { // // startdate: this.startdate.value, startdate: sdate, enddate: edate 我最终出现错误http://localhost:3000/volumes?startdate=2018-6-20&enddate=2018-7-4无法访问数据。或者换句话说,它指向本地主机而不是为页面提供服务的服务器。

谢谢

标签: node.jsangularlocalhostangular5angular-routing

解决方案


您可以对服务 URL 使用代理设置

proxy.cofig.json

{
  "/rest": {
    "target": "http://server:3000/",
    "secure": false
  },
 "/other": {
    "target": "http://server:8060/",
    "secure": false
  }  
}

然后使用proxy-config

 ng serve --proxy-config proxy.config.json

推荐阅读