Как я могу добавить объект Javascript в FormData, который соответствует типу FormGroup.value? - PullRequest
0 голосов
/ 30 октября 2019

Я отправляю запрос multipart / form-data, используя формы Angular Reactive. Моя форма выглядит примерно так:

public myForm: FormGroup = new FormGroup({
   name: new FormControl('', Validators.required),
   email: new FormControl('', Validators.required),
})
<form [formGroup]="myForm" (ngSubmit)="onSubmit()">
   <input type="text" id="name" formControlName="name" required>
   <input type="text" id="email" formControlName="email" required>
   <button type="submit">
</form>

Затем, когда я отправляю форму, я запускаю эту функцию:

  public onSubmit(): void {
    const formData = new FormData();
    formData.append('userDetails', this.myForm.value);
    formData.append('otherData', {test: "hello"});
  }

И тут я сталкиваюсь с проблемой. Я получаю ошибку, которая говорит:

Argument of type { test: string; } is not assignable to parameter of type 'string | Blob'. Object literal may only specify known properties, and 'test' does not exist in type 'Blob'.

Как я могу добавить объект JavaScript в FormData таким же образом, как myForm.value? Другой способ задать этот вопрос: какой тип / класс myForm.value возвращает то, что FormData позволяет ему добавлять его?

...