Желаемый результат:
- Нажмите на загрузочную карту с # city-card, data-id = $ {cityName} и href = "new.html".
- Сохранить значение data-id в переменной.
- Получить документ cityName из коллекции в Firestore для однократного использования на странице new.html
Что происходит:
A. Документ Firestore будет записываться на консоль, когда присутствует функция protectDefault (), но она не позволяет странице перейти к новой ссылке.
B. Документ Firestore не будет записываться в консоль, если метод protectDefault () НЕ присутствует и страницы загружаются в новую ссылку.
Я хочу, чтобы документ Firestore регистрировался на консоли, когда страница загружается в новый раздел href.
GIF Примеры:
A. Работает правильно (с protectDefault ();)
B. работает некорректно (без ПРЕДУПРЕЖДЕНИЯ ();)
Вопрос: Как заставить docRef.get().then(function(doc){ });
запускаться без protectDefault в функции .on click, чтобы я мог использовать эту информацию на странице new.html?
Пример кода:
HTML CARD
<a id="city-card" data-id="${cityName}" href="location-page.html">
<div class="card bg-dark text-white">
<h4 class="card-title">San Francisco</h4>
</div>
</a>
Jquery
var cityName = "san-francisco";
$(document).ready(function(){
$('body').on('click','#city-card',function(e){
// e.preventDefault();
//Stores data-id=${cityName} in variable cityPage
const cityPage = $(this).data('id');
console.log(cityPage);
const docRef = db.collection("city").doc(cityPage)
docRef.get().then(function(doc) {
var cityData = doc.data();
var cityName = doc.id;
console.log("cityName: " + cityName);
console.log(cityData);
});
});
});
Спасибо за любую помощь, которую вы можете оказать!