js获取a链接里的参数,解决参数为中文的时候乱码的问题

a链接里面带着参数跳转,当参数为中文的时候,获取到的中文参数是乱码(浏览器对其编码过的)。

想用参数需要一个解码函数:decodeURIComponent(a链接里的参数)

获取a链接参数的方法:

//获取a链接中的参数
    function getAdata(){
      if(document.URL.indexOf("?")<0) return;//获取当前url地址,如果没参数.直接返回
      var str=document.URL.split("?")[1];
      var obj={};
      var arr;
      //当只有一个参数传过来时
      if(str.indexOf("&")<0){
        if(str.indexOf("=")<0) return;
        arr=str.split("=");
        obj[arr[0]]=arr[1];
        return obj;
      }
      //当有多个参数时
      arr=str.split("&");
      var arr1;
      for(var i=0;i<arr.length;i++){
        arr1=arr[i].split("=");
        obj[arr1[0]]=arr1[1];
      }
      return obj;
    }
View Code

获取方式:

链接例子:

    var a = "https://i.cnblogs.com/posts/edit?name=哈哈";

    var name = getAdata().name      //获取到参数name的值

    对 name 进行解码    name = decodeURIComponent(name);

    这样就可以正确取到中文参数了

注意:getAdata()方法是自定义的,调用的自定义方法获取的

原文地址:https://www.cnblogs.com/PHP0222wangdong/p/13736303.html