我在使用Firebase的Cordova项目中遇到了一个奇怪的问题。它在浏览器中工作得很好,但当我在模拟器或手机(Android)上运行我的应用程序时,(至少)每次加载的第一次登录尝试都会导致"Auth/network-request-failed“错误。下面是我的相关Firebase代码:
<!-- Import Firebase JS -->
<script src="https://www.gstatic.com/firebasejs/3.2.1/firebase.js"></script>
<!-- Import Firebase Authentication-->
<script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
<link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
下面是我的安全元标签(我听说它可能会导致类似的问题):
<meta "content_security_policy": "script-src 'self' https://apis.google.com https://www.googleapis.com https://securetoken.googleapis.com; object-src 'self'", "permissions": ["https://*/*","activeTab"]>
编辑:我没有更改任何代码,但现在我偶尔也会在浏览器(Chrome)中遇到这个错误,如果不那么频繁的话。我找不到模式,尽管在用户注册后,这个问题似乎在会话中消失了。任何帮助都将不胜感激,非常感谢。
发布于 2016-08-18 12:43:49
我是在Firebase支持的帮助下得出这个答案的。原来,我调用登录函数的按钮是"submit“类型,这导致我的页面每次按下都会刷新。这将中断身份验证过程,导致"network-request-failed“错误。为了解决这个问题,去掉按钮中的type="submit“。
发布于 2016-12-23 16:31:31
我花了很多时间对此感到困惑,直到我禁用了CORS Chrome扩展,它才开始在Chrome上工作。
没有任何CORS扩展的Chrome Canary和Firefox也很好。我不认为提交类型是相关的。
发布于 2017-11-11 16:09:35
最后,我解决了这个问题!
input type="submit"
,作为某人的答案。到目前为止,我还不是很确定原因。但这两个地方我都改了,然后firebase的注册网络问题终于解决了。
https://stackoverflow.com/questions/38860900
复制相似问题