Ошибка SEC7120: [CORS] Источник "http://localhost:4200" не нашел "http://localhost:4200" в ответе Access-Control-Allow-Origin
На самом деле я пытаюсь подключить приложение Angular к моему веб-приложению Maven-Jersey (реализует концепцию Rest Services) и получаю эту ошибку.
Более подробная информация: Я использую Oracle10g XE Database Eclipse IDE для проекта Maven ( http://localhost:8080/MavenProject) Угловой интерфейс командной строки ( http://localhost:4200/)
Я хочу получить данные из базы данных (хранится в таблице студентов), а затем отобразить эти данные в Angular App в виде таблицы. Мой проект на основе трикотажа возвращает данные таблицы в формате JSON и XML (успешно выполняется).
извлечение данных таблицы учеников в формате JSON с помощью Maven-jersey-webapp, реализующего rest
угловой код делает запрос на получение с использованием HttpClient
1 ответ
У меня была точно такая же ошибка.
Проблема была в проекте веб-API ядра.NET. Метод, для которого я сделал сообщение, имел объект, определенный в списке параметров, без пустого конструктора.
Ошибка CORS действительно вводила в заблуждение.
Откройте файл App_Start/WebApiConfig.cs. Добавить config.EnableCors(); в методе WebApiConfig.Register.
Вы можете исправить это, проверив, используете ли вы
http vs https
Просто используйте http, чтобы исправить это. После этого добавьте это в заголовок в угловом сервисе, который вы создали, выполняя подобный код
const httpOptions = {
headers: new HttpHeaders({
'Access-Control-Allow-Origin': 'http://localhost:4200', // -->Add this line
'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,OPTIONS',
'Access-Control-Allow-Headers': '*',
'Content-Type': 'application/json',
'Accept': 'application/json'
})
};
Просто проверьте строковое значение, которое вы передали в своем коде. Иногда ваш взгляд обманывает эти ценности. подобно
http: // localhost: 4200 против https: // localhost: 4200