我一直在尝试使用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”访问。
我错过了任何重要信息吗?请帮忙!感谢。