Я уже нашел этот , который уже помог мне, но после добавления заголовка, как это в моем прокси. js:
const proxy = require('http-proxy-middleware');
module.exports = function(app) {
app.use(function(req, res, next) {
//adding headers to allow CORS
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(proxy('/api', { target: 'http://localhost:8080' }));
}
В fetch () я также добавил заголовок, чтобы убедиться, что он работает:
fetch('http://localhost:8080/api',{
headers:{
'Access-Control-Allow-Origin':'*'
},
})
.then(res => res.json())
.then((data) => {
this.setState({ contacts: data })
})
.catch(console.log)
}
Я все еще получаю ошибку: TypeError: "NetworkError при попытке извлечь ресурс."
this.setState({ contacts: data })
должен хранить JSON Объекты который поставляется моей программой Backend Java. JSON Объекты находятся на локальном хосте: 8080 / api и являются просто строками
Мой интерфейс React работает на локальном хосте: 3000
Заголовок ответа выглядит следующим образом
Где мне нужен этот заголовок, чтобы не получить ошибку CORS, желательно, чтобы я работал без библиотеки "1047" * cors или какого-либо дополнения браузера. Я также должен заменить '*' на localhost: 8080 Если я не ошибаюсь, верно? Моей конечной целью было бы поместить эти строки в компонент PrimeReact (A Table) динамически.
Редактировать: полное сообщение об ошибке, запрошенное sideshowbarker:
Предупреждение:
Cross- запрос источника заблокирован: то же правило источника запрещает чтение внешнего ресурса по адресу http://localhost: 8080 / api . (причина: предварительный канал CORS не был успешным).
Предупреждение:
Запрос перекрестного источника заблокирован: одно и то же правило источника запрещает чтение внешнего ресурса в http://localhost: 8080 / апи . (Причина: сбой предварительного канала CORS).
ОШИБКА:
TypeError: "NetworkError при попытке извлечь ресурс.
// Это на немецком языке, поэтому я не смог загрузить скриншот, перевел его, я забыл упомянуть, что я тоже поместил @CrossOrigin на свой Restcontroller