我正在嘗試更新我的價格,但在單擊保存按鈕時我不斷收到此錯誤。這是我得到的錯誤代碼:
未捕獲的 ReferenceError: 用戶未在 HTMLButtonElement.onclick (VM148 settings.html:284:132) 的 updatePrice (settings.js:52:43) 處定義
我在下面提供了我的 js。這也是我在 html 中呼叫函式的方式:
<button class="priceSave" type="submit" id="save11" value="save11" onclick="updatePrice()">Save</button>
JS更新:
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
// Initialize variables
const database = firebase.database();
const auth = firebase.auth();
firebase.auth().onAuthStateChanged((user) => {console.log(user);});
function updatePrice() {
//Get data
numberInput = document.getElementById("numberInput").value;
const user = firebase.auth().currentUser;
//Enter database location
firebase
.database()
.ref(user.uid "/prices/roomA/serviceOne")
.update({
//studioName : studioName,
numberInput: numberInput,
});
}

uj5u.com熱心網友回復:
事實上user沒有在updatePrice()函式中定義。在您的代碼中,它僅在傳遞給定義的onAuthStateChanged()觀察者的回呼函式user中。
您需要currentUser按如下方式使用該屬性:
function updatePrice() {
//Get data
numberInput = document.getElementById("numberInput").value;
const user = firebase.auth().currentUser;
//Enter database location
firebase
.database()
.ref("/studiopick/studio/users" user.uid "/prices/roomA/serviceOne")
.update({
//studioName : studioName,
numberInput: numberInput,
});
}
但是,您需要考慮到currentUser可能是null. 如果auth物件尚未完成初始化,則可能會發生這種情況(通過閱讀以下整個檔案部分了解更多資訊)。
因此,例如,在呼叫此函式之前,請檢查該函式是否firebase.auth()為空。如果是這種情況,您可以在幾秒鐘后重試或指示用戶稍后再試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510131.html
標籤:Google Cloud Collective javascripthtml火力基地firebase-实时数据库
