繁体   English   中英

以角度7的形式在Multipart / formdata中发送数组

[英]Send Array in Multipart/formdata in angular 7

我正在尝试在formdata以及其他表单字段中发送一个JSON数组。 此Json数组的字段是动态生成的。 但是,它给我错误500。

这是我必须发送的方式。

[{"sabha_id":9,"followup_id":1},{"sabha_id":8,"followup_id":24}]

这是我的formArray。

   sabhaArray: this.formBuilder.array([
    this.formBuilder.group({
      sabha_id: [''],
    sabha_type: [''],
    followup_id: ['']
    })
  ])

这是我的表单附加请求。

 fd.append("major_subject", this.registerForm.get("major_subject").value);
  fd.append("company_name", this.registerForm.get("company_name").value);
  fd.append("profile_picture", this.selectedFile, this.selectedFile.name);
  fd.append("sabha_details", JSON.stringify(this.registerForm.get("sabhaArray")));
  this.contactService.addYuvak(fd).subscribe(
    res => {
      this.router.navigate(["pages/contact"]);
    },
    err => {
      console.log(err);
    }
  );
}

这是我发出请求的服务。

addYuvak(fd:FormData): Observable<Yuvak> {
    const addYuvakURL = this.rooturl + 'createcontact';
    console.log(fd);
    var headers = new HttpHeaders();
   // headers.append('Content-Type',);
    //let body = JSON.stringify(yuvak);
   // let fd = new FormData();
    return this.http.post<Yuvak>(addYuvakURL, fd).pipe(
      tap((yuvak: Yuvak) => console.log(`added yuvak w/ id=${yuvak.id}`)),
      catchError(this.handleError<Yuvak>('addYuvak'))
    );
  }

您正在直接使用sabhaArray。 您需要获取数组的值。

尝试这个:

`fd.append("sabha_details", JSON.stringify(this.registerForm.get("sabhaArray").value));`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM