“页面正在卸载”错误

Asi*_*K T 5 javascript routes node.js reactjs

我正在使用 NodeJS-ReactJS 同构应用程序,当我单击 a 时,Link我收到一条错误消息

Uncaught (in promise) Error: Request has been terminated Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.

我听说过前两个原因(离线和 CORS)。错误是什么the page is being unloaded意思?它如何导致浏览器无法导航到需要的位置。

截屏

pal*_*alm 4

你的错误是

Uncaught (in promise) Error: Request has been terminated
Run Code Online (Sandbox Code Playgroud)

当 Promise 中的请求在解决或拒绝之前终止时,会导致此错误。Possible causes如果 ( ) ,就会发生这种情况

  1. the network is offline:出现网络故障,并且与正在处理请求的 url 的连接丢失。
  2. Origin is not allowed by Access-Control-Allow-Origin:由于缺少正确的 CORS 标头,请求被拒绝。
  3. the page is being unloaded:发出请求的页面在请求完成之前关闭。

在上述原因中,与您的情况相关的最可能的原因是 1 或 2,因为您在单击 aLink导航到组件时收到错误。请检查正在使用 加载的新组件发出的请求Link。

编辑: 如果您查看错误消息屏幕截图,它清楚地表明错误发生在第 1 行。node_modules/superagent/lib/client.js.Request.crossDomainError 中 PromiseRequest 的 app.js 的 73194。因此,您的错误原因是 CORS 错误,如上面第 2 条所述。

  • 如果发出请求的页面在请求完成之前关闭,您将收到此错误。当页面关闭时,它会触发“beforeunload”和“unload”事件,让服务知道请求可以终止。 (2认同)