form表单内容JSON格式转化

时间:2023-03-10 00:19:46
form表单内容JSON格式转化

form表单提交时,对于Content-type为application/json是提交时需要转换成json格式,据说form enctype=‘application/json’这样就可以,然而在我的尝试下,这个属性没有任何用。没有办法只有自己写一个了。

let data = {};$('#form').serializeArray().map( x => {    let name = x.name,        value = x.value,        tempData = data,        keys;    keys = name.match(/([^\[\]]+)/g);    keys.map((key, index)=>{        let nextKey = keys[index + 1];        if (nextKey){            if(!isNaN(nextKey)){                if(!tempData[key]){                    tempData[key] = []; //array                }            }else{                if(!tempData[key]){                    tempData[key] = {}; //obj                }            }        }else{            tempData[key] = value || '';        }        tempData = tempData[key];    });});

form里面name书写的格式,看看form enctype=‘application/json’的说明,格式就是这样的。这样的话表单提交更方便了呢。