前端表单中的数据提交给服务器后,是具有一定格式的,后台若要用到提交的数据,是需要进行一定的转换的,以提交至浏览器页面地址栏为例,将数据装换成对象
eg:http://www.baidu.com?name=jack&age=30&sex=0
<!DOCTYPE html><html> ???<head> ???????<meta charset="UTF-8"> ???????<title>格式化地址栏字符串成对象</title> ???</head> ???<body> ???????<script type="text/javascript"> ???????????var str = "http://www.baidu.com?name=jack&age=30&sex=0"; ???????????function fun(str){// ???????????????方法1// ???????????????var num = str.indexOf("?");// ???????????????var str1 = str.slice(num+1);// ???????????????var str2 ?= str1.split("&");// ???????????????for (var i=0;i<str2.length;i++) {// ???????????????????str2[i] = str2[i].split("=");// ???????????????}// ???????????????console.log(str2);// ???????????????var obj = {};// ???????????????for (var j = 0;j<str2.length;j++) {// ???????????????????if (!isNaN(str2[j][1])) {// ???????????????????????str2[j][1] = Number(str2[j][1]);// ???????????????????}// ???????????????????obj[str2[j][0]]=str2[j][1];// ???????????????} ???????????????var str1 = str.split("?")[1]; ???????????????var str2 = str1.split("&"); ???????????????var obj = {} ???????????????console.log(str2) ???????????????for(var i = 0;i<str2.length;i++){ ???????????????????var a = str2[i].split("="); ???????????????????console.log(a) ???????????????????obj[a[0]] = a[1] ???????????????} ???????????????return obj ???????????} ???????????????????????console.log(fun(str)); ???????????//输出结果格式:(对象)// ???????????{// ???????????????name : "jack",// ???????????????age : 30,// ???????????????sex : 0// ???????????} ???????????????????</script> ???</body></html>
js 格式化地址栏字符串成对象
原文地址:https://www.cnblogs.com/wcx-20151115-hzz/p/10110553.html