请求串:
http://127.0.0.1:9000?username=jack&pwd=123 取出请求串中的查询参数,将查询参数封装为对象
首先我们先将地址以字符串的形式取出来 str ="http://127.0.0.1:9000?username=jack&pwd=123"; 然后使用split()函数将字符串进行分割。
我们能够看出字符串中有一个“?”,我们可以将?后的内容先取出来 str.split("?")[1],再将取出来的字符串“&”前后进行分割,将其保存到一个数组中去。
然后我们对数组进行遍历,取出其每一项。我们可以看出每一项都是以“=”进行分割的。“=”前面是对象里面的属性名,“=”后面是对象里面的属性值。我们再次用split()函数将属性名和属性值进行分割。
注意: 我们通过arr1[0]得到属性名,arr1[1]得到属性值。我们不能直接将obj.arr1[0]=arr1[1];因为这样做是将属性值赋值给属性名,并不是我们想要的。我们应该先取出属性名,找出对应其的属性值。即:
obj[ arr1[0]]=arr1[1];
然后我们将对象输出就可以了。具体代码如下
<script>
str ="http://127.0.0.1:9000?username=jack&pwd=123";
var str = "http://127.0.0.1:9000?username=jack&pwd=123";
var arr = str.split("?")[1].split("&");
console.log(arr);
var obj ={};
arr.forEach(function(item){
var arr1 = item.split("=");
obj[ arr1[0]]=arr1[1];
})
console.log(obj);
</script>