亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Node Js 和 Express js 中使用渲染更新已發送的數據

如何在 Node Js 和 Express js 中使用渲染更新已發送的數據

溫溫醬 2023-04-01 16:01:06
我試圖隨時從我的 router.js 發送數據以在 Javascript 中讀取,但我不知道如何傳遞它而不必再次呈現頁面。我希望在滿足新坐標的條件時,更新頁面上的數據而無需再次重新加載頁面。router.get('/', function (req, res) {    dbC.db.collection('collection').where('id', '==', 'AnID')      .onSnapshot(querySnapshot => {        querySnapshot.docChanges().forEach(change => {          if (change.type === 'added') {            let coord = change.doc.data();            console.log('--------------New coord--------------');            res.header({ lat: coord.payload_fields.latitude_gps, lng: coord.payload_fields.longitude_gps });          }         });      });      res.render('index', { title: "FMCS", title2:"Tracing", active: {home: true, map: true},  lat: 0, lng: 0 });    })My hbs: <script>  var point = { lat: {{{lat}}}, lng: {{{lng}}} };</script>
查看完整描述

1 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

如果你想在網頁中實時更新數據,你應該在呈現的頁面中使用 Firestore 而不是在 express 控制器中。


首先在渲染的頁面標題中添加 Firestore 依賴


<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-app.js"></script>

<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-firestore.js"></script>

其次在渲染頁面中初始化Firestore并監聽更新


<script>

  firebase.initializeApp({

    apiKey: '### FIREBASE API KEY ###',

    authDomain: '### FIREBASE AUTH DOMAIN ###',

    projectId: '### CLOUD FIRESTORE PROJECT ID ###'

  });


  var db = firebase.firestore();


  dbC.db.collection('collection').where('id', '==', 'AnID')

  .onSnapshot(querySnapshot => {

    querySnapshot.docChanges().forEach(change => {

      if (change.type === 'added') {

        // use DOM API to update data location in the rendered page

      });

    });

  })

</script>


查看完整回答
反對 回復 2023-04-01
  • 1 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號