Как правильно оформить Ajax-запрос (на jQuery) к ASP.NET Core?

Есть вот контроллер EmployeesController на ASP.NET Core с типичными шаблонными методами, один из которых вот такой:

// GET: api/Employees/5
[HttpGet("{id}")]
public async Task<ActionResult<Employees>> GetEmployees(int id)
{
    var employees = await _context.Employees.FindAsync(id);

    if (employees == null)
    {
        return NotFound();
    }

    return employees;
}

После запуска, если перейти в браузере по ссылке https://localhost:44370/api/employees/3 действительно выдаются данные из БД:

employeeId  3
lastName    "Leverling"
firstName   "Janet"
title   "Sales Representative"
titleOfCourtesy "Ms."

Если через Postman отправить GET-запрос на этот же адрес https://localhost:44370/api/employees/3 то приходит объект:

{"employeeId":3,"lastName":"Leverling","firstName":"Janet","title":"Sales Representative","titleOfCourtesy":"Ms."}

То есть вроде бы все в порядке.

Теперь я хочу эти данные получить через JavaScript и отобразить на странице. Если это важно, то я исползьую React и пишу код в методе:

componentDidMount(){
  $.ajax({
    type: 'GET',
    url: "api/employees/3",
    error: (jqXHR, errorText) => alert('Завершен с ошибкой: ' + jqXHR.status + '(' + jqXHR.statusText + ')'),
    success: (data) => alert(data)
  })
}

Во-первых, не понятно, какой я адрес должен писать? https://localhost:44370/api/employees/3 или просто api/employees/3 В первом случае запрос выполняется с ошибкой 0. Во втором - ошибки нет, но приходит какой-то html вместо данных введите сюда описание изображения

Во-вторых, на каком-то сайте с машинным переводом проскочила информация, что якобы надо отдельно как-то настраивать asp.net core для работы с ajax-запросами, но как именно это сделать я не нашел. Действительно ли нужные какие-то дополнительные настройки?

P.S. React приложение в браузере открыто по адресу http://localhost:3000/, ну а IIS запускается на порте 44370 https://localhost:44370/api/employees/3 если это важно.


Ответы (0 шт):