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’的说明,格式就是这样的。这样的话表单提交更方便了呢。