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