首页 > 解决方案 > 将对象数据作为 FormData 传递

问题描述

我收到这样的数据:

pert_submit: {systemId: "53183", pert-id: "176061", score: 0, q2c: "3\0", q2t: "", …}

现在我想在我的 post call 中将它作为 FormData 发送。我不能为此目的使用 HTML 表单,所以在 http post 中调用数据为

systemId: "53183", pert-id: "176061", score: 0, q2c: "3\0", q2t: ""

我尝试使用 FormData 作为

 var form_data = new FormData();
            for ( var key in this.dataObject['pert_submit'] ) {
                form_data.append(key, this.dataObject['pert_submit'][key]);
            }

我该如何实现呢,以上面指定的格式传递FormData

(systemId: "53183", pert-id: "176061", score: 0, q2c: "3\0", q2t: "")

标签: javascripttypescript

解决方案


当我需要键和值而不是 Object.keys 时,我喜欢使用 Object.entires。您可以在 .forEach 循环中使用数组解构以干净的方式获取这两个值。

const data = {systemId: "53183", "pert-id": "176061", score: 0, q2c: "3\0", q2t: "" };
const formData = new FormData();

Object.entries(data).forEach(([key, value]) => formData.append(key, value))

console.log([...formData.entries()]);

推荐阅读