Как преобразовать FormData в Object, а затем JSON.stringify? - PullRequest
0 голосов
/ 17 апреля 2019

Как бы я преобразовал мои FormData в объект, чем JSON.stringify? Я думаю, что причина, по которой мои значения в 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 голосов
/ 17 апреля 2019

Вы можете использовать метод formData.entries(), чтобы перебрать все записи в FormData и создать объект JSON, например:

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

JSON.stringify(json)
...