in Angular, ng serve --port 4200 --host 0.0.0.0
creates an instance of http server. I\'ve been told, that in order to fetch data from server side scripts in Ang
If you have Tow loalhost application, first is Angular app and is running in http://localhost:4200 and another is API project and running in http://localhost:3000, In this situation if from your angular app make request to another, you get CORS error, for solving this problem you can use below instructions step by step:
Then put codes inside created file like this (please notice to target part):
{
"/api/*": {
"target": "http://localhost:3000",
"secure": false,
"logLevel": "debug"
}
}
Then Change package.josn file and insert code like below image"
Note: If you don't do it for angular project, you will occure with CORS problem.
You can proxy your application on http://localhost by creating a file called proxy.conf.json
in your angular project with the following content:
{
"/api": {
"target": "http://localhost",
"secure": false
}
}
and then starting ng serve
with the additional parameter --proxy-config proxy.conf.json
ng serve --port 4200 --host 0.0.0.0 --proxy-config proxy.conf.json
You have to change your call then to include the port and /api
prefix:
this.http.get('http://localhost:4200/api/echo.php').subscribe(data => {
...
You can find more details here