javascript - JSON.Stringify() 返回未定义而不是文本
问题描述
我正在制作一个表格,用于下载用户放入其中的数据。到目前为止,文件下载但不是用户的输入,而是返回[object Object]
我尝试使用 JSON.Stringify() 但它返回的文件中包含“未定义”。即使 console.log() 给了我{username: "asdasd", password: "sdasdasd"}
e.preventDefault();
console.log(formData);
var formDataString = JSON.stringify(FormData);
// ... submit to API or something
download(formDataString, 'json.txt', 'text/plain');
};
const initialFormData = Object.freeze({
username: "",
password: "",
});
function download(formDataString, fileName, contentType) {
var a = document.createElement("a");
var file = new Blob([formDataString], {type: contentType});
a.href = URL.createObjectURL(file);
a.download = fileName;
a.click();
}
我的完整代码可以在这里
查看
提前感谢您的帮助。
解决方案
如果您检查此处报告的代码段的第 2 行和第 3 行,答案非常简单:您说JSON.stringify(FormData)
的是大写F,而console.log
输出formData
具有较低的f
变量在 JavaScript 中区分大小写,因此FormData
永远不会定义 ( undefined
),而formData
您在上面已正确定义,并console.log(formData)
在控制台中正确输出变量的内容。
推荐阅读
- javascript - 使用javascript更改滚动时的背景颜色
- reactjs - 无法从“错误中找到 React-Native”/Components`
- amazon-web-services - IAM 角色如何代入另一个 IAM 角色来访问资源
- mysql - 如何使用连接解决 MySQL 子查询?
- javascript - 反应延迟连续调用查询 onMouseEnter
- loopbackjs - 环回模型中的深度嵌套验证
- android - 传递上下文总是失败 - 无法添加窗口 - 令牌 null 无效;您的活动正在运行吗?
- django - sqlite3.IntegrityError: FOREIGN KEY 约束失败
- php - Laravel 8 上未应用默认值
- dispose - Tone.js 更改 Tone.Polysynth 的问题