无法使用Angular CLI为API调用配置代理

时间:2017-04-17 16:19:07

标签: javascript angular proxy

我一直在尝试使用Angular CLI为API调用创建代理数小时。但是,它不起作用。

我的前端开发服务在localhost:4200上运行,我正在尝试对这种格式的公共链接进行API调用:http://url.com/api/obj/1

在Angular2项目中,我有一个文件: proxy.conf.json

{
  "/api": {
    "target": "http://localhost:3000",
    "secure": false,
    "changeOrigin": "true",
    "pathRewrite": {"^/api": ""}
  }
}

在Angular2项目的package.json文件下,我将启动过程更改为“start”:“ng serve --proxy-config proxy.conf.json”

当我使用“npm start”运行我的mac终端时,webpack已成功编译。但是,在编译期间我没有看到任何代理创建的消息。

从我的Angular ts文件中,我发送一个请求方法来调用API。

 private _url: string = "http://url/api/obj/1";
 
    constructor(private _http: Http){}
    getmethod(){
      return this._http.get(this._url)
        .map((response:Response) => response.json());  
    }

但是,Chrome控制台会引发以下错误:

XMLHttpRequest无法加载http://url.com/api/obj/1。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:4200”访问。

我错过了任何重要信息吗?请帮忙!感谢。

0 个答案:

没有答案