[英]Firebase Auth State Persistence vanilla JS
我不確定我是否在嘗試正確的事情。 這是我的問題。 如果用戶通過身份驗證,我會將數據加載到屏幕上。 它是一個摘要屏幕。 我可以單擊一個項目,它會將我發送到一個新的“詳細信息”頁面(window.location)。 我在 URL 中傳遞 ID,然后執行 GET 請求以獲取要顯示的詳細信息。 當我在 firebase DB 上實施我的規則時,(“.read”:“auth,= null”)。 我在控制台中收到“401 Unauthorized”錯誤。 所以我需要以某種方式將用戶傳遞給 details.js 或以某種方式設置 Persistence? 有人有什么建議嗎?
這是來自 MAIN.JS 的代碼
auth.onAuthStateChanged(user => {
console.log(user);
if (user) {
database.on('value', function(data) {
myData = data.val()
keys = Object.keys(myData)
buildProperties();
})
// tempBuild()
} else {
$('.eachProperty').empty()
$('.eachProperty').append($(`<h1>You must be signed in to view properties</h1>`))
}
})
$('body').on('click', '.singleProp', function() {
id = $(this).attr('id')
window.location = "/details.html?id=" + id
})
這是來自 DETAILS.JS 的代碼
var myLocation = location.search.slice(4)
$.get(`https://XXXXXX.firebaseio.com/property/${myLocation}/.json`).then(myProperty)
function myProperty(prop) {
$('.propAddress').text(prop.address)
$('.zip').text(prop.zip)
if(prop.pictures){
for (var i = 0; i < prop.pictures.length; i++) {
var myImg = prop.pictures[i]
$('.imgContainer').append($(`<div class="eachPicDiv"><img src="${myImg}" alt="0" class="detailPic">
<ion-icon class="rBtn" name="arrow-redo-outline"></ion-icon>
</div`))
}
} else {
$('.imgContainer').append($(`<h1>THERE WERE NO PICTURES</h1>`))
}
}
您正在使用 jQuery 從 Firebase 數據庫中獲取您的數據,
$.get 是一種 jQuery方法,要成功,您需要擁有某種身份驗證令牌。
Firebase 已經提供了最好的 class 訪問,在此處閱讀有關訪問的更多信息。
在這里通過示例學習。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.