Reactjs React JS:CORS错误,在尝试获取资源时导致NetworkError
我已经找到了对我有帮助的,但是在我的proxy.js中添加了这样的标题之后:Reactjs React JS:CORS错误,在尝试获取资源时导致NetworkError,reactjs,spring,proxy,cors,response,Reactjs,Spring,Proxy,Cors,Response,我已经找到了对我有帮助的,但是在我的proxy.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", "*");
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('http://localhost:8080/api',{
headers:{
'Access-Control-Allow-Origin':'*'
},
})
.then(res => res.json())
.then((data) => {
this.setState({ contacts: data })
})
.catch(console.log)
}
在尝试获取资源时,仍然会出现错误:TypeError:NetworkError
这个.setState{contacts:data}应该存储由我的后端Java程序交付的JSON对象。JSON对象位于localhost:8080/api,只是字符串
我的React前端在本地主机上运行:3000
我在哪里需要这个标题以避免出现CORS错误,我更希望在没有npm库CORS或任何浏览器插件的情况下工作。如果我没有弄错的话,我还应该用localhost:8080替换“*”,对吗?
我的最终目标是将这些字符串动态地放入表中的PrimeReact组件中
编辑:sideshowbarker请求的完整错误消息:
警告:
已阻止跨源请求:同一源规则禁止在处读取外部资源。原因:CORS飞行前频道未成功
警告:
已阻止跨源请求:同一源规则禁止在处读取外部资源。原因:CORS飞行前通道失败
错误:
TypeError:尝试获取资源时出现NetworkError
//它是德语的,所以我无法上传截图,翻译了它
我忘了提到我也将@CrossOrigin放在我的Restcontroller上无法评论,因为rep太低,但是你设置了app.listen8080 另外,如果您在本地主机上同时运行CORS,我认为您不需要更改任何与CORS相关的内容 您的浏览器中是否有可能导致此问题的更改?尝试不同的浏览器
此外,我还建议使用axios,将其定义为前后移动,确保当您进入浏览器时,屏幕上会显示JSON。经过无数个小时的调试,结果证明我没有使用http.cors;进入我的WebSecurityConfig.java 我在阅读本教程后发现:
浏览器在devtools控制台中记录的确切完整错误消息是什么?我在app.usefunctionreq、res、next之前添加了app.listen{但是没有发生任何事情,localhost显示JSON