js 截取网址表单提交内容并保存到对象中

js 截取网址表单提交内容并保存到对象中

问题:使用location对象将能获取到网页的url的get提交的一系列参数,并保存为对象

一般使用需要去获取到地址栏中的表单提交数据,并保存为对象方便使用

如图:

需要获取的参数

1、使用 location 对象能获取到本网页的url地址:

location对象的各属性

可以看到 location 对象提供了全部的url地址信息,这里需要的是表单的提交数据,可以使用到 search 就能获取到需要的表单信息。

2、直接使用location 对象获取到的中文数据是一串乱码 如下:

url中文乱码问题

这里需要使用到一个函数 decodeURIComponent()

dataDom = window.decodeURIComponent(dataDom); 

成功将中文乱码转换成正常显示的中文:
使用decodeURIComponent()函数转码

3、将得到正确的这一段字符放入对象中去
        //1、获取到location对象的表单值
        let dataDom = location.search;
        // 2、将中文乱码转换成可识别中文
        dataDom = window.decodeURIComponent(dataDom);
        // 3、将 ? 删除掉
        dataDom = dataDom.replace("?", "");
        // 4、以&为区分将数据分组拆分到数组中去
        let arr = dataDom.split("&");
        //5、遍历这个新数组,【分组】将数据放入对象中去
        let obj = {};
        arr.forEach(function (v, i) {
            //6、将里面的数组单个元素,再次进行拆分为一个新的单个数组
            let newarr = arr[i].split("=");
            //7、分别将数组的第一和第二个元素 作为 对象的属性名和属性值
            obj[newarr[0]] = newarr[1];
        });
        //打印输出一下
        console.log(obj);

运行结果如下:
url参数成功获放入到对象中

  • 这里主要是在遍历数组的操作里,将数组元素再次进行一次拆分,按照新数组的第一个元素对应对象属性名,第二个元素对应属性值的特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值