一种常用的解决方法是在服务器端设置HTTP响应头来允许来自其他域的请求。具体而言,可以在HTTP响应头中添加“Access-Control-Allow-Origin”信息来允许跨域请求。在Angular 11中,可以使用HttpClientModule来设置请求的header参数,示例如下:
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [HttpClientModule],
...
})
export class AppModule { }
在发送HTTP请求时,需要设置header参数为{ 'Access-Control-Allow-Origin': '*' },示例如下:
import { HttpClient, HttpHeaders } from '@angular/common/http';
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
})
};
@Injectable({ providedIn: 'root' })
export class UserService {
constructor(private http: HttpClient) { }
getUsers() {
return this.http.get('/api/users', httpOptions);
}
}