如何将FormData转换为Object然后再进行JSON.stringify?

时间:2019-04-17 13:54:21

标签: json reactjs form-data stringify

我如何将FormData转换成比JSON.string更好的对象?我认为未在API中的值填充数据的原因是因为端点需要JSON数据。

handleSubmit:

handleSubmit(event) {
      event.preventDefault();

      const data = new FormData(event.target);

      fetch('http://localhost:8080/seniorproject/addUser', {
        method: 'POST',
        body: data,
      });

      console.log(data);
    }

表格:

<form onSubmit={this.handleSubmit}>
          <label htmlFor="First Name">Enter First Name</label>
          <input id="firstName" name="firstName" type="text" />

          <label htmlFor="Last Name">Enter your Last Name</label>
          <input id="lastName" name="lastName" type="lastName" />

          <label htmlFor="studentID">Enter your student id</label>
          <input id="studentID" name="studentID" type="text" />

          <label htmlFor="Email">Enter your email</label>
          <input id="email" name="email" type="text" />

          <label htmlFor="Password">Enter your password</label>
          <input id="password" name="password" type="text" />

          <button>Send data!</button>
        </form>

1 个答案:

答案 0 :(得分:0)

您可以使用formData.entries()方法来遍历FormData中的所有条目并构造一个JSON对象,如下所示:

const json = {};
Array.from(formData.entries()).forEach(([key, value]) => {
  json[key] = value;
})

JSON.stringify(json)