【发布时间】:2019-05-07 09:24:54
【问题描述】:
我正在使用 HTTP post 发送表单数据,它将是这样的
saveDataFile(mutlidata,id,value): Observable<Response> {
var _url = 'http://xxxx.xxx.xxx';
var saveDataURL = _url + '/' + id;
var _this = this;
let headers = new Headers();
headers.append('Content-Type', 'multipart/form-data');
let options = new RequestOptions({ headers: headers });
const frmData = new FormData();
frmData.append("file",JSON.stringify(mutlidata),'sample.json');
frmData.append("dataCheck",value);
return this.http.post(saveDataURL,frmData, options).pipe(
map((res: Response) => {
return res;
}),
catchError(this.handleError),);
}
这里的multidata会有
[["fakepath/test1.JPG","ea305e-be9d"],["fakepath/test2.JPG","489ce580-c50e-40e6-b1ab-71c7827f636c"]]
id will have 15asdas6asd6
value will have either true / false
这里它没有发送我猜想的表单数据,当我调试和检查 frmdata 时返回 this.http.post(saveDataURL,frmData, options) 这里是显示 form.entries、值等
在 sample.json 文件中我附加了表单数据
frmData.append("file",JSON.stringify(mutlidata),'sample.json');
这里的文件意味着我必须使用该关键字将数据发送到 API
【问题讨论】:
-
你订阅你的 observable 吗?喜欢
saveDataFile(mutlidata,id,value).subscribe()。如果没有,则永远不会发送请求。
标签: javascript angular typescript