Convert JS Object to form data

前端 未结 18 1901
孤街浪徒
孤街浪徒 2020-11-29 17:22

How can I can convert my JS Object to FormData?

The reason why I want to do this is, I have an object that I constructed out of the ~100 form field valu

18条回答
  •  感动是毒
    2020-11-29 17:48

    This method convert a JS object to a FormData :

    function convertToFormData(params) {
        return Object.entries(params)
            .reduce((acc, [key, value]) => {
                if (Array.isArray(value)) {
                    value.forEach((v, k) => acc.append(`${key}[${k}]`, value));
                } else if (typeof value === 'object' && !(value instanceof File) && !(value instanceof Date)) {
                    Object.entries(value).forEach((v, k) => acc.append(`${key}[${k}]`, value));
                } else {
                    acc.append(key, value);
                }
    
                return acc;
            }, new FormData());
    }

提交回复
热议问题