前端定义了全局变量后,再定义一个同名的局部变量

先说结论:不要这样定义,不然会发生莫名其妙的错误。

问题叙述

前端定义了全局变量

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,把局部变量取消,直接使用全局变量,问题解决了!

道阻且长,行则将至。

相关推荐
777VG6 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi7 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC7 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny8 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
kyriewen8 小时前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny8 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah9 小时前
Safari浏览器中如何只允许指定网站下载
前端·safari
用户059540174469 小时前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css
swipe10 小时前
07|(前端转后全栈)为什么后端也要缓存?从前端缓存思维理解 Redis
前端·后端·全栈
IT小盘10 小时前
05-企业项目统一接入多个大模型-适配器模式实战
前端·人工智能·适配器模式