例子:

let data = { id: 12, name: '测试', list: [{ id: 22, name: "za", age: 12 }] };// 创建 FormData 实例

        要使用 FormData 将数据提交给接口,首先需要了解 FormData 是如何工作的。FormData 是一种用于异步上传数据的表单数据结构,它可以让你以一种简单的方式发送键值对。

        例子中,你有一个 JavaScript 对象 data,它包含了嵌套的数据结构。要将这个对象转换为 FormData,我们需要遍历这个对象,并将每个键值对添加到 FormData 实例中。

        下面是一个示例代码,展示了如何将你的 data 对象转换为 FormData,并使用 fetch API 将其提交给接口:

let data = { id: 12, name: '测试', list: [{ id: 22, name: "za", age: 12 }] };

// 创建 FormData 实例
let formData = new FormData();

// 函数用于递归地将对象添加到 FormData
function addToFormData(obj, formData) {
    for (let key in obj) {
        if (obj.hasOwnProperty(key)) {
            // 如果是对象,则递归调用
            if (typeof obj[key] === 'object') {
                addToFormData(obj[key], formData);
            } else {
                // 否则,直接添加
                formData.append(key, obj[key]);
            }
        }
    }
}

// 将数据添加到 FormData
addToFormData(data, formData);

// 使用 fetch API 提交 FormData
fetch('YOUR_ENDPOINT_URL', {
    method: 'POST',
    body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

        在这个代码中,我们首先定义了一个 addToFormData 函数,它递归地遍历对象并将每个键值对添加到 FormData 实例中。然后,我们使用 fetch API 将 FormData 发送到服务器。请确保替换 'YOUR_ENDPOINT_URL' 为你的实际接口 URL。

GitHub 加速计划 / vu / vue
207.55 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐