It throws this error on the Ajax call.
I also tried these lines in Startup.cs with named policy. None of the ways that I found online, works.
I'm sure I'm making some silly mistake somewhere, I'm not seeing it.
builder.WithOrigins("https://localhost:44380")
builder.WithOrigins("localhost:44380")
builder.WithOrigins("localhost")
[EnableCors("MyPolicy")] //in Controller.cs
Error from Chrome Browser Console:
Controller.cs
[Route("api/itexit")]
[EnableCors]
[ApiController]
public class ITExitController : ControllerBase
{
//code...
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSwaggerGen();
services.AddCors();
string connectionString = Configuration.GetConnectionString("DefaultConnection");
services.AddDbContext<CoCFormsContext>(options => options.UseSqlServer(connectionString));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "CoCForms.API");
});
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors(builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
Ajax call from .cshtml page
$.ajax({
url: url,
type: "GET",
crossDomain: true,
dataType: 'json',
//dataType: 'jsonp',
success: function (data,textstatus,jqXHR) {
//process data
},
error: function (jqXHR, textstatus, exception) {
//process exception
}
});
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…