目前已經用假JSON資料用出想顯示的資料樣子
現在要從下面圖片的網址取得他的JSON資訊
git連結:https://github.com/bo-han-kao/BicZone/tree/logintest
會用到的檔案:routes/scan.js
:views/scan.ejs
Q1:不知要如何取得網址的JSON資訊
Q2:若Q1問題解決EJS樣板如何配合AJAX達到即時更新效果?
請版上大大指點迷津!
不知要如何取得網址的JSON資訊
可以用 axios
若Q1問題解決EJS樣板如何配合AJAX達到即時更新效果
把你的 scan.js
改成類似這樣
var express = require('express');
var router = express.Router();
const fs = require('fs');
const axios = require('axios').default;
// middleware程式碼,這樣才能抓倒頁面資料
router.use(express.urlencoded({
extended: false
}));
router.use(express.json());
router.get('/', async (req, res) => {
const response = await (await axios.get('http://127.0.0.1:8000/mesh/scan/get-data')).data;
res.render('scan',{
devices: response.devices,
});
});
router.get('/get-data', (req, res) => {
try {
const scandata = JSON.parse(fs.readFileSync('./scandata.json', { encoding: 'utf-8' }));
res.status(200).send({ devices: scandata.payload.devices });
} catch (error) {
console.log(error);
res.status(500).send({ error }).end();
}
});
module.exports = router;
result