Ваш запрос API выглядит так, как будто он построен правильно, поэтому ваш Angular-код не является проблемой.
Если вы видите, что запрос OPTIONS выходит, но не запрос GET, это означает, что запрос OPTIONS не выполнен, поэтомубраузер не отправил запрос GET.Документы MDN по предварительно выданным запросам объясняют это поведение:
В отличие от «простых запросов» (обсуждалось выше), «предварительно выданные» запросы сначала отправляют HTTP-запрос методом OPTIONS вресурс в другом домене, чтобы определить, безопасен ли фактический запрос для отправки.Межсайтовые запросы предварительно просматриваются следующим образом, поскольку они могут иметь последствия для пользовательских данных.
Если на вашем сервере не включена поддержка CORS для домена, на котором работает приложение Angular, это означает, что оно не принимаетзапросы, чтобы браузер не отправлял запрос GET.
Чтобы решить эту проблему, необходимо включить CORS в своем API, работающем по адресу localhost: 2337.Поскольку я не знаю, во что встроен ваш сервер, вот несколько вариантов:
Сначала можно попробовать изменить его, разрешив все запросы, а затемсужение его по домену или маршруту.
По сути, вашему серверу необходимо вернуть заголовок для запроса OPTIONS, который включает запрашивающий домен или все, что использует подстановочный знак звездочки:
Access-Control-Allow-Origin: *
Дополнительная информация о MDN: HTTPЗаголовки Access-Control-Allow-Origin .