JSON.Stringify() returns 未定义而不是文本

JSON.Stringify() returns undefined instead of text

我正在制作一个表格来下载用户输入的数据。到目前为止,文件已下载,但不是用户输入 returns [object Object]
我尝试使用 JSON.Stringify() 但它返回的文件中包含“undefined”。 即使 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();
      
  }

我的完整代码可见here
预先感谢您的帮助。

如果您查看此处报告的代码片段的第 2 行和第 3 行,答案很简单:您说的 JSON.stringify(FormData) 大写 F ,而 console.log 输出 formData 具有较低的 f

变量在 JavaScript 中区分大小写,因此从未定义 FormData (undefined),而 formData 是您在上面正确定义的,并且 console.log(formData) 在控制台正确输出变量的内容。