如何获取url后面的参数对象呢?
例如:https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=csdn
我们想把参数转变成对象,以备随时使用,我的方法如下:
首先获取URL后面的参数
var keywords=window.location.search;//结果:'?tn=monline_3_dg&ie=utf-8&wd=csdn'
var keywords=window.location.search.substr(1);//结果:'tn=monline_3_dg&ie=utf-8&wd=csdn'
开始替换:
var result = keywords.replace(/&/g, '","').replace(/=/g, '":"');
‘/g’这里表示所有,replace(/&/g, ‘","’),这里表示 把所有的&都换成 “,”
补上首尾缺失的部分:
var reqDataString = '{"' + result + '"}';
最后json字符串搞定,需要转成json对象
JSON.parse(reqDataString);
当然,这里还需要做一个 没有 带参数的判断
完整代码如下:
var keywords = window.location.search.substr(1);
var result = keywords.replace(/&/g, '","').replace(/=/g, '":"');
var reqDataString = '{"' + result + '"}';
var aaa = JSON.parse(reqDataString);