在Angular 7中,要解决CORS(跨域资源共享)问题,可以使用HttpHeaders来设置请求的头部信息。
首先,导入HttpHeaders和HttpClient模块:
import { HttpHeaders, HttpClient } from '@angular/common/http';
然后,在你的组件中注入HttpClient:
constructor(private http: HttpClient) { }
接下来,使用HttpHeaders设置请求头部信息,包括Origin和Content-Type:
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Origin': 'http://localhost:4200' // 替换为你的前端应用的地址
})
};
在使用HttpClient发送请求时,将设置好的httpOptions传递给请求方法(例如,get、post等):
this.http.get('http://api.example.com/data', httpOptions)
.subscribe(response => {
console.log(response);
});
这样设置了请求头部信息后,Angular会自动在发送请求时将这些信息添加到请求头部中,从而解决跨域请求被服务器拒绝的问题。
另外,还可以通过配置服务器的响应头部信息来允许跨域请求。具体的操作方法因服务器而异,在此不再赘述。