先说结论:不要这样定义,不然会发生莫名其妙的错误。
问题叙述
前端定义了全局变量
javascript
var selectedSheet;
在后面的函数中又定义局部变量
javascript
function switchToSheet() {
var selectedSheet = document.getElementById('selectSheet').value;
fetch('/get_data')
.then(response => response.json())
.then(data => {
hot.loadData(data[selectedSheet]);
})
.catch(error => console.error('Error switching sheet:', error));
}
此时我要把数据打包传回后端
javascript
body: JSON.stringify({
sheet_name: selectedSheet, // 将当前选中的下拉框值传递给后端
data: hot.getData() // 将当前表格数据传递给后端
})
问题出现了,返回到后端的数据只有data,而一直拿不到sheet_name,把局部变量取消,直接使用全局变量,问题解决了!
道阻且长,行则将至。