Javascript 如何将查询字符串从HTML表单解析为键值对字符串?
在我开发的一个web应用程序中,我需要序列化表单,然后将查询字符串拆分为键值对,如下所述Javascript 如何将查询字符串从HTML表单解析为键值对字符串?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,在我开发的一个web应用程序中,我需要序列化表单,然后将查询字符串拆分为键值对,如下所述 var frmSerialized=$(frm).serialize().replace(/\+/g,'%20'); //The jquery libraries upto version 2.0 converts spaces to plus var frmKeyPair=decodeURIComponent(frmSerialized).split("&"); 在我找
var frmSerialized=$(frm).serialize().replace(/\+/g,'%20'); //The jquery libraries upto version 2.0 converts spaces to plus
var frmKeyPair=decodeURIComponent(frmSerialized).split("&");
在我找到两个箱子之前,一切都很顺利:
for(var j=0;j<frmKeyPair.length;j++){
var mapInput;
var element=frmKeyPair[j].split("=");
var elemName=decodeURIComponent(element[0]);
var eleValue=decodeURIComponent(element[1]);
mapInput = document.createElement("input");
mapInput.type = "hidden";
mapInput.name = aesUtil.encrypt(salt, iv, passPhrase, elemName);
mapInput.value = eleValue==null?"":aesUtil.encrypt(salt, iv, passPhrase, eleValue);
mapForm.appendChild(mapInput);
}
您可以通过拆分&来获得它们的键值对,然后在解码值之前通过“=”来拆分它们
var x=$('form').serialize().replace(/\+/g,'%20');
控制台日志(x);
x、 拆分('&').forEach(函数(keyValue){
var[key,value]=keyValue.split('=');
log(键“=”,decodeURIComponent(值));
});代码>
mapForm.submit();