You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么页面刷新时发起的GET请求会出现Network Error错误?

问题出现的原因
  • useEffect依赖配置错误引发无限循环请求:你将请求触发后才会更新的coinData、currentUser两个状态加入了useEffect的依赖数组,每次请求成功更新状态都会重新触发useEffect执行新一轮请求,短时间内发起的大量请求要么触发CoinGecko接口限流规则,要么导致请求队列阻塞,最终抛出网络错误。
  • 请求无异常捕获逻辑:两个异步请求函数均未做try/catch包裹,任意请求出现4xx/5xx返回、跨域、服务无响应等问题时,都会直接抛出未被捕获的运行时错误。
  • 刷新时请求参数异常导致非法请求:
    • 刷新页面时用户会话session可能还未完成初始化,session?.id为undefined,会导致用户接口请求路径变为http://localhost:5000/api/users/undefined,该请求基本都会返回404错误。
    • 若刷新时getServerSideProps返回的data.id为空,CoinGecko的请求地址会变为https://api.coingecko.com/api/v3/coins/undefined,接口会直接返回400错误。
修复参考方案
  • 调整useEffect依赖数组为[data.id, session?.id],仅在核心参数变更时才触发请求,避免无限循环。
  • 给所有异步请求添加try/catch块,主动捕获并处理请求异常。
  • 发起请求前先判断data.id和session?.id是否存在,参数为空时不发起无效请求。

内容的提问来源于stack exchange,提问作者Eric Pezzulo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:45:09