在 angular 中发送 Multipart/formdata 中的数组 7
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);
}
);
}
这是我的服务,正在发出 post 请求。
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));`
我正在尝试在 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);
}
);
}
这是我的服务,正在发出 post 请求。
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));`