无法使用Firebase注册 [英] Can't Sign up with firebase

查看:179
本文介绍了无法使用Firebase注册的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用firebase和登录创建一个注册表单,我已经尝试了这么多的东西,但它不会工作。当我单击注册按钮,调用方法 auth.createUserWithEmailAndPassword(email,pass)



< blockquote>

发生网络错误(例如超时,连接中断或无法访问的主机)。

这里是我的HTML的一部分

 < div class =col l7id =signup> 
< h4>注册< / h4>
< div class =form card>
< br>
< div class =switch>
< label>
Student
< input name =student_id =student_type =checkbox>
< span class =lever>< / span>
职员
< / label>
< / div>
< div class =container>
< input type =textplaceholder =Nameid =signup_fullname>
<! - student / staff - >
< input type =textplaceholder =Matric Number / Staff no。 ID = signup_matric >
< input type =emailplaceholder =Emailid =signup_email>
< div class =input-field col s12>
< select id =signup_dept>
< option value =禁用选择>选择您的部门< / option>
< option value =ics> ICS< / option>
< option value =masscomm> Mass Comm。< / option>
< option value =lis> Library Science< / option>
< option value =tcs>电信科学< / option>
< option value =csc>计算机科学< / option>
< / select>
< / div>
< div class =input-field col s12>
< select id =signup_level>
< option value =禁用选择>选择您的关卡< / option>
< option value =100> 100等级< / option>
< option value =200> 200等级< / option>
< option value =300> 300等级< / option>
< option value =400> 400 Level< / option>
< option value =500> 500等级< / option>
< / select>
< / div>
< div class =input-field col s12>
< select id =signup_religion>
< option value =禁用选择>选择您的宗教< / option>
< option value =1>伊斯兰教< / option>
< option value =2>基督教< / option>
< / select>
< / div>
< input type =passwordplaceholder =passwordid =signup_password>
<! - < input type =passwordplaceholder =确认密码id =signup_confirm_password> - >
< button class =btn-large second-colorid =btnSignUp>注册< / button>< / a>
< / div>
< / div>
< br>
< / div>

和我的JS代码

  readystatemode = false; 
(function(){
var config = {
apiKey:< my API key>,
authDomain:< my auth domain>,
databaseURL:< my database url>,
storageBucket:< my storage bucket url>,
};
firebase.initializeApp(config);

//获取元素
var student_ = document.getElementById('student_'); //检查是学生还是工作人员;期望开或关
var student__;
if student_.value ==on){
student__ =student;
} else {
student__ =staff;
}
var signup_fullname = document .getElementById('signup_fullname');
var signup_matric = document.getElementById('signup_matric');
var signup_email = document.getElementById('signup_email');
var signup_dept = document.getElementById ('signup_dept');
var signup_level = document.getElementById('signup_level');
var signup_religion = document.getElementById('signu p_religion');
var signup_password = document.getElementById('signup_password');
var login_email = document.getElementById('login_email');
var login_password = document.getElementById('login_password');
//按钮
var btnLogin = document.getElementById(btnLogin);
var btnSignUp = document.getElementById(btnSignUp);

//注册事件
btnSignUp.addEventListener('click',e => {
//获取电子邮件并传递
// TODO:检查真实电子邮件
console.log(只需点击注册按钮);

var email = signup_email.value;
var pass = signup_password.value;
var auth = firebase.auth();
//注册
const promise = auth.createUserWithEmailAndPassword(email,pass);
promise $ b $ .catch(e => console.log (e.message));

if(auth.currentUser!= null){
auth.currentUser.updateProfile({
displayName:signup_fullname,
userCategory: student__,
matric:signup_matric,
department:signup_dept,
level:signup_level,
religion:signup_religion
})。then(function(){
console.log(更新成功);
window.readystatemode = true;
},函数(错误){
console.lo g(更新失败);
});
}
}); (firebaseUser& window.readystatemode){
console.log(firebaseUser); $ b(firebaseUser) $ b btnLogout.classList.remove('hide');
window.location('./ dashboard.html');
} else {
console.log(not logged in );
btnLogout.classList.add('hide');
}
});

})();


解决方案

但我可以在浏览器上登录。我用下面的命令来解决这个问题,
$ b - cordova plugin remove cordova-plugin-whitelist -



< - > cordova插件添加cordova-plugin-whitelist -


I am trying to create a sign up form with firebase and login as well, I have tried so many things but it won't work. I keep getting this error when I click the signup button which calls the method auth.createUserWithEmailAndPassword(email, pass).

A network error (such as timeout, interrupted connection or unreachable host) has occurred.

Below here is part of my HTML

<div class="col l7" id="signup">
      <h4>Signup</h4>
      <div class="form card">
        <br>
        <div class="switch">
          <label>
                Student
                <input name="student_" id="student_" type="checkbox">
                <span class="lever"></span>
                Staff
              </label>
        </div>
        <div class="container">
          <input type="text" placeholder="Name" id="signup_fullname">
          <!--student/staff-->
          <input type="text" placeholder="Matric Number/Staff no." id="signup_matric">
          <input type="email" placeholder="Email" id="signup_email">
          <div class="input-field col s12">
            <select id="signup_dept">
                  <option value="" disabled selected>Select your department</option>
                  <option value="ics">ICS</option>
                  <option value="masscomm">Mass Comm.</option>
                  <option value="lis">Library Science</option>
                  <option value="tcs">Telecomm Science</option>
                  <option value="csc">Computer Science</option>
                </select>
          </div>
          <div class="input-field col s12">
            <select id="signup_level">
                  <option value="" disabled selected>Select your Level</option>
                  <option value="100">100 Level</option>
                  <option value="200">200 Level</option>
                  <option value="300">300 Level</option>
                  <option value="400">400 Level</option>
                  <option value="500">500 Level</option>
                </select>
          </div>
          <div class="input-field col s12">
            <select id="signup_religion">
                  <option value="" disabled selected>Select your religion</option>
                  <option value="1">Islam</option>
                  <option value="2">Christianity</option>
                </select>
          </div>
          <input type="password" placeholder="password" id="signup_password">
          <!--<input type="password" placeholder="Confirm password" id="signup_confirm_password">-->
          <button class="btn-large second-color" id="btnSignUp">signup</button></a>
        </div>
      </div>
      <br>
    </div>

and my JS code

readystatemode = false;
(function () {
  var config = {
    apiKey: "<my API key>",
    authDomain: "<my auth domain>",
    databaseURL: "<my database url>",
    storageBucket: "<my storage bucket url>",
  };
  firebase.initializeApp(config);

  // Get Elements
  var student_ = document.getElementById('student_'); // check whether is a student or staff; expect on or off
  var student__;
  if (student_.value == "on") {
    student__ = "student";
  } else {
    student__ = "staff";
  }
  var signup_fullname = document.getElementById('signup_fullname');
  var signup_matric = document.getElementById('signup_matric');
  var signup_email = document.getElementById('signup_email');
  var signup_dept = document.getElementById('signup_dept');
  var signup_level = document.getElementById('signup_level');
  var signup_religion = document.getElementById('signup_religion');
  var signup_password = document.getElementById('signup_password');
  var login_email = document.getElementById('login_email');
  var login_password = document.getElementById('login_password');
  // buttons
  var btnLogin = document.getElementById("btnLogin");
  var btnSignUp = document.getElementById("btnSignUp");

  // signup event
  btnSignUp.addEventListener('click', e => {
    // Get Email and pass
    //TODO: check for real emails
    console.log("just clicked the signup button");

    var email = signup_email.value;
    var pass = signup_password.value;
    var auth = firebase.auth();
    // sign up
    const promise = auth.createUserWithEmailAndPassword(email, pass);
    promise
      .catch(e => console.log(e.message));

    if (auth.currentUser != null) {
      auth.currentUser.updateProfile({
        displayName: signup_fullname,
        userCategory: student__,
        matric: signup_matric,
        department: signup_dept,
        level: signup_level,
        religion: signup_religion
      }).then(function () {
        console.log("update successful");
        window.readystatemode = true;
      }, function (error) {
        console.log("update failed");
      });
    }
  });

  firebase.auth().onAuthStateChanged(firebaseUser => {
    if (firebaseUser && window.readystatemode) {
      console.log(firebaseUser);
      btnLogout.classList.remove('hide');
      window.location('./dashboard.html');
    } else {
      console.log("not logged in");
      btnLogout.classList.add('hide');
    }
  });

})();

解决方案

I had a similar issue with the device login using Firebase but i could login on the browser. I used the following commands to resolve the issue,

--cordova plugin remove cordova-plugin-whitelist--

--cordova plugin add cordova-plugin-whitelist--

这篇关于无法使用Firebase注册的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆