获取地址栏的参数(依对象的形式返回)

Posted a-pupil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取地址栏的参数(依对象的形式返回)相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>获取地址栏中的参数并作为对象返回</title>
</head>
<body>
    <div id="app">
        <p v-for="(item,key) in obj">
            {{ key }}   {{ item }} 
        </p>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                name:[], //用于存入对象的键
                value:[], //用于存入对象的值
                obj:{}   //定义一个空的对象
            },
            methods:{
                getUrl(){
                    var str = location.href; //获取整个地址栏中的值
                    var num = str.indexOf("?"); //判断地址栏中是否有?这个值
                    str = str.substr(num + 1); //返回?之后的所有参数 "返回的是字符串"
                    var arr = str.split("&"); //在字符串中依 & 作为分隔符进行分割并返回一个数组
                    //循环数组
                    for(var i = 0;i<arr.length;i++){
                        var strArr = arr[i].indexOf("=") //循环出来的数组进行判断是否有= 返回长度
                        if(strArr > 0){
                            //把循环出来的数值使用concat()添加到数组中否则会覆盖
                            this.name = this.name.concat(arr[i].substring(0,strArr))
                            this.value = this.value.concat(arr[i].substr(strArr + 1))
                        }
                    }
                    for(var i=0;i<this.name.length;i++){
                        var keys = this.name[i]
                        var val = this.value[i]
                        this.obj[keys] = val
                    }
                }
            },
            created(){
                this.getUrl()
            }
        })
    </script>
</body>
</html>

以上是关于获取地址栏的参数(依对象的形式返回)的主要内容,如果未能解决你的问题,请参考以下文章

利用JS获取地址栏的中文参数,如何避免取到乱码?

js如何获取地址栏的参数

用JS获取地址栏参数的方法

js如何获取地址栏的参数

JS获取地址栏的参数值

使用JS获取地址栏的参数