由于遇到相关序列化的问题,但是vue项目中由于减少队jquery引用的限制,导致不能用<代码>美元.param> 代码来序列化参数,所以写了如下方法用来解决相关问题,但由于考虑不全,可能存在判断不全或者代码冗余等情况,希望多提意见,多多改善
var personObj={ 名称:“cheny0815”, 年龄:24岁 c: [{ id: 1、 名称:2 },{ id: 2 名称:3 }], 其他:{ 答:1, b: { c: 2 d: { 答:1, b: { 艾凡:1, f: 2 } } } }, } var nextStr="; 函数changeDataType (obj) { 让str=" 如果(typeof obj=='对象'){ (让我在obj) { 如果(typeof obj[我]!=昂?,typeof obj[我]!='对象'){ str +=我+ '=' + obj[我]+ ','; }else if (typeof obj[我]=='对象'){ nextStr="; str +=changeSonType(我obj[我]) } } } 返回str.replace (/,/g美元,”); } 函数changeSonType (objName objValue) { 如果(typeof objValue=https://www.yisu.com/zixun/=岸韵蟆?{ (让我在objValue) { 如果(typeof objValue[我]!='对象'){ 让价值=https://www.yisu.com/zixun/objName + '(' +我+ ')=' + objValue[我]; nextStr +=encodeURI(值)+ ','; 其他}{ changeSonType (objName +(“我+ +”),objValue[我]); } } } 返回nextStr; } var resultParam=$ .param (personObj); var resultMyself=changeDataType (personObj); document . write (“resultMyself===祝辞' + resultMyself + & lt; br> & lt; hr>”) 文档。写(“resultParam===祝辞' + resultParam + & lt; br> & lt; hr>”) 文档。写(“resultMyself===resultParam===祝辞”+ (resultMyself===resultParam))
结果如下:
以上所述是小编给大家介绍的原生JS实现.param美元()函数,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!