要解决Angular中从服务器获取数据时的CORS错误,可以尝试以下几种方法:
// 在服务器端响应中添加CORS头信息
response.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200');
response.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS,DELETE,PUT');
response.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
proxy.conf.json,并配置如下:{
  "/api/*": {
    "target": "http://localhost:3000",
    "secure": false,
    "logLevel": "debug"
  }
}
然后在angular.json文件中的serve选项下配置代理:
"serve": {
  "builder": "@angular-devkit/build-angular:dev-server",
  "options": {
    "browserTarget": "your-app:build",
    "proxyConfig": "proxy.conf.json"
  },
  "configurations": {
    "production": {
      ...
    },
    "development": {
      ...
    }
  }
}
这样,API请求将会通过代理转发到http://localhost:3000,避免CORS问题。
HttpClientJsonpModule模块来发送JSONP请求。例如:import { HttpClientJsonpModule } from '@angular/common/http';
...
this.http.jsonp('http://api.example.com/data', 'callback').subscribe(data => {
  console.log(data);
});
以上是一些常见的解决CORS错误的方法,根据具体情况选择适合自己的解决方案。