Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase身份验证错误身份验证/网络请求失败_Javascript_Html_Firebase_Firebase Authentication - Fatal编程技术网

Javascript Firebase身份验证错误身份验证/网络请求失败

Javascript Firebase身份验证错误身份验证/网络请求失败,javascript,html,firebase,firebase-authentication,Javascript,Html,Firebase,Firebase Authentication,我正在使用firebase主机托管我的网站,我尝试使用电子邮件/pwd登录,但此错误一直提示 这是我使用的JS: window.onload = () => initApp(); //Initiate screen function initApp(){ console.log(firebase); document.getElementById("btnLogin").addEventListener("click", e => { var em

我正在使用firebase主机托管我的网站,我尝试使用电子邮件/pwd登录,但此错误一直提示

这是我使用的JS:

window.onload = () => initApp(); //Initiate screen

  function initApp(){
    console.log(firebase);

    document.getElementById("btnLogin").addEventListener("click", e => {
      var email = document.getElementById("inputEmail").value;
      var pwd = document.getElementById("inputPassword").value;

      firebase.auth().signInWithEmailAndPassword(email, pwd).catch(error => {
                          var errorCode = error.code;
                          var errorMessage = error.message;
                          console.log(errorCode + "-" + errorMessage);
                          alert(errorCode + "-" + errorMessage);
      }); //Login
    });//Login button click

    firebase.auth().onAuthStateChanged(user => {
      console.log("User: " + user);
      if (user) {
        // User is signed in.
        var displayName = user.displayName;
        var uEmail = user.email;
        var emailVerified = user.emailVerified;
        var photoURL = user.photoURL;
        var isAnonymous = user.isAnonymous;
        var uid = user.uid;
        var providerData = user.providerData;
        console.log(uEmail + " logged in");
        alert(uEmail + " logged in");
      } else {
        console.log("not logged in");
        alert("not logged in");
      }//Check user
    });//Check auth state changes        
  }//InitApp   
这是表单的HTML:

<form id="formLogin" class="form-signin">
    <h2 align="center" class="form-signin-heading">Inicia sessió</h2>
    <label for="inputEmail" class="sr-only">Correu electrònic</label>
    <input type="email" id="inputEmail" class="form-control" placeholder="Correu electrònic" required autofocus>
    <label for="inputPassword" class="sr-only">Contrassenya</label>
    <input type="password" id="inputPassword" class="form-control" placeholder="Contrassenya" required>        
    <button id="btnLogin"class="btn btn-lg btn-primary btn-block" type="submit">Entrar</button>
  </form>

伊尼西亚·塞西奥
科雷乌电气公司
反塞尼亚
诱捕者
那么,这里有什么问题?如果我在Chrome/Firefox控制台上使用这个JS代码,它就会登录并工作

编辑:
不知何故,如果我将表单标记更改为div,它会工作,但没有意义。在firebase中使用html5表单有什么不知道的问题吗?

元素中
的默认行为是提交表单。这将导致页面重新加载&Firebase登录代码被取消

这就是为什么当您更改为
元素时它会起作用

您需要在按钮侦听器中使用
preventDefault
,以防止这种行为:

document.getElementById("btnLogin").addEventListener("click", e => {
      e.preventDefault(); // Stop the form from submitting
      var email = document.getElementById("inputEmail").value;
      var pwd = document.getElementById("inputPassword").value;

      firebase.auth().signInWithEmailAndPassword(email, pwd).catch(error => {
                          var errorCode = error.code;
                          var errorMessage = error.message;
                          console.log(errorCode + "-" + errorMessage);
                          alert(errorCode + "-" + errorMessage);
      }); //Login
    });//Login button click

好了,谢谢,我已经找了好几天了,似乎没有人澄清这一点。我希望这个答案能帮助其他有同样问题的人