如何用前端和后端实现一个页面能检测电路板信号数据同时把数据保存到文件夹下,给我一个思路和代码讲解
时间: 2024-02-17 14:01:21 浏览: 104
好的,下面我就给你一个大概的思路和代码讲解。
前端代码:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>检测电路板信号数据</title>
</head>
<body>
<table>
<thead>
<tr>
<th>设备名称</th>
<th>设备型号</th>
<th>设备状态</th>
</tr>
</thead>
<tbody id="table-body">
</tbody>
</table>
<button id="save-btn">保存数据</button>
<script>
const tableBody = document.getElementById('table-body');
const saveBtn = document.getElementById('save-btn');
// 发送请求获取电路板信号数据,并展示在表格中
function fetchData() {
fetch('/api/getData')
.then(response => response.json())
.then(data => {
data.forEach(item => {
const tr = document.createElement('tr');
tr.innerHTML = `
<td>${item.name}</td>
<td>${item.model}</td>
<td>${item.status}</td>
`;
tableBody.appendChild(tr);
});
})
.catch(error => console.error(error));
}
// 给保存数据按钮绑定点击事件,发送请求保存数据
saveBtn.addEventListener('click', () => {
fetch('/api/saveData')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
});
fetchData();
</script>
</body>
</html>
```
在前端代码中,我们首先设计了一个表格用于展示电路板信号数据,并添加了一个按钮用于保存数据。在页面加载完成后,我们调用fetchData函数发送请求获取数据,并将数据展示在表格中。同时,我们给保存数据按钮绑定了点击事件,点击按钮时会发送请求保存数据。
后端代码:
```
const express = require('express');
const fs = require('fs');
const app = express();
const port = 3000;
// 设计一个电路板数据结构
const data = [
{
name: '设备1',
model: '型号1',
status: '正常'
},
{
name: '设备2',
model: '型号2',
status: '故障'
},
{
name: '设备3',
model: '型号3',
status: '正常'
}
];
// 设计一个API接口,用于获取电路板信号数据
app.get('/api/getData', (req, res) => {
res.json(data);
});
// 设计一个API接口,用于保存电路板信号数据到文件夹下
app.get('/api/saveData', (req, res) => {
const fileName = `data_${new Date().getTime()}.json`; // 生成文件名
fs.writeFile(`./data/${fileName}`, JSON.stringify(data), (err) => {
if (err) {
console.error(err);
res.sendStatus(500);
} else {
console.log(`数据已保存到文件夹下:${fileName}`);
res.json({fileName});
}
});
});
app.listen(port, () => console.log(`应用启动成功,地址:http://localhost:${port}`));
```
在后端代码中,我们设计了一个电路板数据结构,用于模拟实际的电路板信号数据。同时,我们设计了两个API接口,一个用于获取电路板信号数据,另一个用于保存电路板信号数据到文件夹下。在请求保存数据时,我们使用fs.writeFile函数将数据保存到本地文件夹下,并返回文件名给前端。
当你访问 http://localhost:3000/ 时,你将会看到一个表格和一个保存数据的按钮。当你点击保存数据按钮时,数据将会保存到本地文件夹下,并在控制台输出文件名。
希望这个思路和代码讲解能够对你有所帮助!
阅读全文