javascript 跨页面传参

    /**
     * url传参  可传中文
     **/
    var getRequest= function (obj) {
        var urlStr = location.search,
            theRequest = '';
        var urlCutA = urlStr.split(obj)[1];
        if (!!urlCutA) {
            var urlCutB = urlCutA.split('=')[1];
            var urlCutC = urlCutB.split('&')[0]
            if (urlCutC) {
                theRequest = urlCutC;
            } else {
                theRequest = urlCutB;
            }
            theRequest = decodeURI(theRequest);
            return theRequest;
        } else {
            return;
        }
    }

## 使用方法
var id = getRequest(id)

方式二

function GetRequest(){
   var url = window.location.search; //获取url中"?"符后的字串
   var theRequest = new Object();
   if (url.indexOf("?") != -1) {
      var str = url.substr(1);
      strs = str.split("&");
      for(var i = 0; i < strs.length; i ++) {
         theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
      }
   }
   return theRequest;
}
 
//调用方式
var Request = new Object();
Request = GetRequest();
var uid = Request['uid'];  //获取到了url中uid的值1000


方式三
另外一种方式,比上面的要好用一些
function GetQueryString(name) {
       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
       var r = window.location.search.substr(1).match(reg);
       if (r!=null)
            return (r[2]);
            return null;
}
var uid= GetQueryString('uid');

方式四、localStorage或sessionStorage
注意:localStorage有一定延迟,如果客户端配置较低,可用setTimeout进行延时处理。

// 写入数据
localStorage.setItem('uid','1000'); 
// 读取数据
localStorage.getItem('uid');
//删除某个键值对
localStorage.removeItem('uid');
//清除localStorage的所有内容
localStorage.clear();

//写入对象数据
var data={
     username:'zzyn',
     uid:'100000'
};
var strData=JSON.stringify(data);
localStorage.setItem("data",strData); 
//读取对象数据
var data = localStorage.getItem('data');
var dataObj = JSON.parse(data);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值