Я разработал Asp. Net Core 3.1 API и развернул на сервере через IIS, он работает должным образом, если я отправляю запрос GET / POST из почтальона или браузера, но код ниже выдает ошибку.
$.ajax({
type: 'GET',
crossDomain: true,
dataType: 'json',
url: 'myUrl',
success: function(jsondata){
}
})
Ошибка:
Доступ к XMLHttpRequest в 'http://server: 8080 / API / GetMethod? Currency = INR' from origin 'http://localhost: 63765 'был заблокирован политикой CORS: на запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.
Я отключил CORS в своем приложении, используя приведенный ниже код C# код:
[DisableCors]
[Route("[controller]")]
[ApiController]
[AllowAnonymous]
public class APIController : ControllerBase
{
startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddLog4Net();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors();
app.UseAuthorization();
Итак, я попытался отключить CORS на уровне контроллера, я также попробовал jsonp
вместо JSON
, все равно выдает ту же ошибку.
У меня два вопроса.
- Это проблема на стороне клиента или на стороне сервера?
- Как исправить ошибку ?
Примечание: Я могу отправлять запросы GET из браузера и почтальона, но с этим cl Код ientside, у меня проблема, связанная с CORS.