Estoy haciendo una solicitud con javascript puro para una API mínima en .NET 6, pero cuando la abro en el navegador, aparece el siguiente mensaje:
El acceso para buscar en 'https://localhost:7252/v1/todos' desde el origen 'null' ha sido bloqueado por la política de CORS: no hay un encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. la respuesta opaca satisface sus necesidades, establezca el modo de solicitud en 'no-cors' para obtener el recurso con CORS deshabilitado.
Ya agregué la configuración de CORS en la API pero no funcionó:
fetch('https://localhost:7252/v1/todos') .then(response => response.json()) ... builder.Services.AddCors(options => options.AddDefaultPolicy(builder => { builder.WithOrigins( "https://localhost:7252/v1/todos", "https://localhost:7252"); })); app.UseCors();Es posible que desee extenderlo un poco
app.UseCors(builder => builder .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials());aquí una muestra de código completo
public class Startup { readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins"; public void ConfigureServices(IServiceCollection services) { services.AddCors(options => { options.AddPolicy(name: MyAllowSpecificOrigins, builder => { builder.WithOrigins("http://example.com", "http://www.contoso.com"); }); }); // services.AddResponseCaching(); services.AddControllers(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(MyAllowSpecificOrigins); // app.UseResponseCaching(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } }