Лучший вариант: CORS-заголовок (требуется изменение сервера). CORS (Cross-Origin Resource Sharing) позволяет серверу сказать: «Я приму ваш запрос, даже если вы пришли из другого источника». Это требует сотрудничества ссервер - поэтому, если вы не можете изменить сервер (например, если вы используете внешний API), этот подход не будет работать.
Измените сервер, добавив заголовок Access-Control-Allow-Происхождение: * для включения перекрестных запросов откуда угодно (или укажите домен вместо *).Это должно решить вашу проблему.
2-й вариант: Прокси-сервер Если вы не можете изменить сервер, вы можете запустить свой собственный прокси.И этот прокси-сервер может возвращать заголовок Access-Control-Allow-Origin, если он не находится в том же источнике, что и ваша страница.
Вместо отправки запросов API на некоторый удаленный сервер, вы будете отправлять запросы своему прокси-серверу,который направит их на удаленный сервер.
Для первого варианта, если используется .Net Core:
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
и
app.UseCors ("CorsPolicy");