Javascript `正在卸载该页`错误
我正在使用一个NodeJS ReactJS同构应用程序,当我点击一个Javascript `正在卸载该页`错误,javascript,node.js,reactjs,routing,Javascript,Node.js,Reactjs,Routing,我正在使用一个NodeJS ReactJS同构应用程序,当我点击一个链接时,我得到一个错误,说 未捕获(承诺中)错误:请求已终止 可能原因:网络脱机、访问控制不允许源站允许源站、页面正在卸载等。 我听说的前两个原因(离线和CORS)。正在卸载页面的错误是什么意思?可能导致浏览器无法导航的原因 您的错误是 Uncaught (in promise) Error: Request has been terminated 当承诺中的请求在解决或拒绝之前终止时,会导致此错误。如果(可能的原因) 网络处
链接时,我得到一个错误,说
未捕获(承诺中)错误:请求已终止
可能原因:网络脱机、访问控制不允许源站允许源站、页面正在卸载等。
我听说的前两个原因(离线和CORS)。正在卸载页面的错误是什么意思?可能导致浏览器无法导航的原因
您的错误是
Uncaught (in promise) Error: Request has been terminated
当承诺中的请求在解决或拒绝之前终止时,会导致此错误。如果(可能的原因
)
网络处于脱机状态
:出现网络故障,与正在处理请求的url的连接丢失李>
访问控制允许原点不允许原点
:由于缺少正确的CORS标头,请求被拒绝
页面正在卸载
:发出请求的页面在请求完成之前关闭
在上述原因中,与您的案例相关的最有可能的原因是1或2,因为您在单击链接导航到组件时会出现错误。请使用链接检查正在加载的新组件发出的请求
编辑:
如果您查看错误消息屏幕截图,它清楚地表明错误发生在PromiseRequest的app.js第73194行,位于node_modules/superagent/lib/client.js.Request.crossDomainError中。因此,您出现错误的原因是上面第2条中描述的CORS错误。原因链接
组件正在使用Location.push
进行重定向,而Location.push
方法无法重定向到另一个域
因此,我的解决方案是:
使用窗口。打开('http://your.new.domain.com/index“,”自我“
使用
似乎您尚未在节点服务器中启用cors。
建议的步骤:
- npm安装cors
- 在app.js(节点服务器)中使用它
您的链接是否指向外部域?如果是这样,那么最好使用a
标记。我在Link
组件中使用a
标记。你为什么要这样做!一次使用任何一个,我不明白。这是一种反应成分。这就是组件的工作原理。。!谢谢我的问题是第三个错误/原因是什么?什么是正在卸载的页面
错误意味着什么?请求在请求完成之前关闭。并不意味着页面被卸载。我说的对吗?如果在请求完成之前关闭了发出请求的页面,那么您将得到这个错误。当页面关闭时,它会触发一个beforeunload
和一个unload
事件,让服务知道请求可以终止。哦..Thannks。但在我的例子中,我第二次尝试导航时,还是成功了。科尔斯没事。我现在在我的项目中看不到这个错误。
var cors = require('cors');
var app = express();
app.use(cors()); //Enable CORS