【问题标题】:JSON.Stringify() returns undefined instead of textJSON.Stringify() 返回未定义而不是文本
【发布时间】:2023-03-12 21:03:02
【问题描述】:

我正在制作一个表单,用于下载用户放入其中的数据。到目前为止,文件下载但不是用户的输入,而是返回[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();
      
  }

我的完整代码可见here
提前感谢您的帮助。

【问题讨论】:

    标签: javascript json reactjs forms form-data


    【解决方案1】:

    如果您检查此处报告的 sn-p 的第 2 行和第 3 行,答案非常简单:您说的是 JSON.stringify(FormData) 大写 F ,而 console.log 输出 formData f

    较低

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

    【讨论】:

    • 我不敢相信它一直就在我的眼皮底下。谢谢你。我会在 6 分钟内接受这个作为答案
    • @imstupidpleasehelp 你能想象我在类似的错误上浪费了多少小时吗? :) 别担心,它是这样的:它在我们的眼皮底下,但我们从来没有看到它!就个人而言,使用诸如 WebStorm 之类的 IDE 帮助我避免或发现了此类错误。
    猜你喜欢
    • 2021-06-04
    • 1970-01-01
    • 2021-09-11
    • 2017-03-26
    • 1970-01-01
    • 2021-09-28
    • 2016-07-25
    • 2020-03-16
    • 2018-05-08
    相关资源
    最近更新 更多