Node.js React应用中await fetch报错net::ERR_CONNECTION_REFUSED如何解决?
解决React fetch请求出现net::ERR_CONNECTION_REFUSED的问题
错误原因分析
net::ERR_CONNECTION_REFUSED 本质是客户端无法连接到目标服务器,核心问题出在后端服务未启动或请求地址/端口不匹配,和你的React前端代码逻辑无关(但前端有一处语法错误需要修正)。
分步解决方案
确认后端服务是否正在运行
你请求的目标地址是http://localhost:5000/todos,需要先启动对应端口的后端服务。比如如果是Node.js后端,要确保已经执行了npm start或对应的启动命令,服务处于运行状态。检查请求地址与后端端口是否一致
打开后端代码,确认服务监听的端口是5000(比如Node.js里的app.listen(5000))。如果后端使用的是其他端口(比如3001),需要同步修改fetch的URL为对应端口,例如:const response = await fetch("http://localhost:3001/todos", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body) });验证后端服务可正常访问
在浏览器地址栏直接访问http://localhost:5000/todos(用GET方法),如果页面无法加载或显示错误,说明后端服务确实未正常启动,需排查后端启动问题(比如依赖未安装、代码报错等)。
前端代码额外修正
你的代码里window.location("/")是错误语法,正确的页面跳转写法应该是:
window.location.href = "/";
如果不修正,即使请求成功,也会抛出语法错误。
内容的提问来源于stack exchange,提问作者Raja
相关产品推荐
相关产品推荐

