您现在的位置:首页 >> 前端 >> 内容

URI的编码与解码

时间:2017/3/14 9:25:00 点击:

  核心提示:对于URI后面的查询字段部分,如何拼接和获取。编码:function addURLParam(url,name,value){ url+=(url.indexOf(?) == -1 ? ? : ); ...

对于URI后面的查询字段部分,如何拼接和获取。

编码:

function addURLParam(url,name,value)
{
 url+=(url.indexOf("?") == -1 ? "?" : "&");
 //indexOf取到子串第一次出现的位置
 url+=encodeURIComponent(name)+"="+encodeURIComponent(value);
 return url;
}

解码

var args = getQueryStringArgs();
  function getQueryStringArgs() {    //取得查询字符串并去掉开头的问号
     var qs = (location.search.length > 0 ?        location.search.substring(1) : "");
      //location.search 获取到url问号后的所有查询字符串值,search得到的是url中query部分
      //substring()返回一个从指定位置开始的指定长度的子字符串这里设置为1,是为了把url中的?号去掉
       var args = {};
      //保存数据的对象
      var items = qs.length ? qs.split("&") : [];
      //取得查询字符串中每对键值对,保存到items中
      //split()将一个字符串分割为子字符串,然后将结果作为字符串数组返回这里就是把query部分以&为分割符
      var item = null;
      var name = null;
      var value = null;
      var len = items.length;
      for (var i = 0; i < len; i++) {
      item = items[i].split("=");
      name = decodeURIComponent(item[0]);
      value = decodeURIComponent(item[1]);
      if (name.length) {
                            args[name] = value;
                        }
                    }
                    return args;
                }

Tags:UR RI I的 的编 
作者:网络 来源:不详