Я недавно загрузил свой проект ASp.NET CORE React с Redux (и KendoUI React) на свою хостинговую платформу Azure, и теперь я не могу получить доступ к любым данным, полученным из API. Я посмотрел на консоль и увидел сообщение об ошибке:
Доступ к выборке в 'https://login.microsoftonline.com/xxx-xxx-xxx-xxx-xxx/oauth2/authorize?client_id=xxx-xxx-xxx-xxx-xxx&redirect_uri=https%3A%2F%2Fmywebsite.azurewebsites.net%2Fsignin-oidc&response_type=id_token&scope=openid%20profile&response_mode=form_post&nonce=xxx.xxxstate=xxx-xxx-xxx-xxx-xxxxxx&x-client-SKU=ID_NET&x-client-ver=2.1.4.0' (перенаправлен из' https://mywebsite.azurewebsites.net/api/MyData/GetMyData?page=1&pageSize=20') из источника 'https://mywebsite.azurewebsites.net' заблокирован политикой CORS: нет' Access-Control-Allow-Origin ' Заголовок присутствует в запрашиваемом ресурсе. Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.
Я исследовал проблему с помощью поиска сообщения об ошибке, нашел несколько сообщений, но ничего конкретного о том, что делать в реагирующем приложении, которое является наилучшим, а также безопасным, нет.
Я добавил заголовок Access-Control-Allow-Origin: *
, но это не сработало. Другой метод, который я нашел, заключался в использовании прокси-сервера, но в этом примере поддерживалась только локальная среда разработки.
Вот мой выбор, где вы можете видеть, что я добавил Access-Control-Allow-Origin
к заголовкам:
fetchData(dataState) {
const queryStr = `${toDataSourceRequestString(dataState)}`;
const hasGroups = dataState.group && dataState.group.length;
const base_url = 'api/MyData/GetMyData';
const init = { method: 'GET', accept: 'application/json', headers: "Access-Control-Allow-Origin: *" };
fetch(`${base_url}?${queryStr}`, init)
.then(response => response.json())
.then(({ Data, total }) => {
this.setState({
result: hasGroups ? translateDataSourceResultGroups(Data) : Data,
total,
dataState
});
}).catch(function (error) {
console.log('Error: \n', error);
});
};
Добавление заголовка ничего не изменило и ошибка не исчезла. Я хочу убедиться, что я делаю это правильно, кто-нибудь может мне помочь исправить эту ошибку?