services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder =>
{
builder.WithOrigins("http://localhost:4200")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
app.UseCors("AllowSpecificOrigin");
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class MyService {
constructor(private http: HttpClient) { }
getSomeData() {
let headers = new HttpHeaders();
headers = headers.set('Content-Type', 'application/json; charset=utf-8')
.set('Access-Control-Allow-Origin', 'http://localhost:4200');
return this.http.get('http://localhost:5000/api/SomeData', { headers: headers });
}
}
这里的Access-Control-Allow-Origin设置为Angular的本地服务地址。如果你的应用是部署在其他地址上的话,需要相应地进行修改。
参考资料:
https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-5.0
https://angular.io/guide/http