笔记四十三:JS 页面跳转,获取url参数的传递

369 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

js页面跳转
 jobDetail(index) {
      location.replace("job_detail.html?jobId=" + index);
  }
在job_detail.html的js中解析参数。
//获得传过来的login与在数据库中对应的表单
var paras = location.search;            //search获得地址中的参数,内容为'?itemId=12'
var result = paras.match(/[^\?&]*=[^&]*/g);     //match是字符串中符合的字段一个一个取出来,result中的值为['login=xx','table=admin']
paras = {};                    //让paras变成没有内容的json对象
for(i in result){
    var temp = result[i].split('=');    //split()将一个字符串分解成一个数组,两次遍历result中的值分别为['itemId','xx']
    paras[temp[0]] = temp[1];
}
var itemId = paras.itemId;     //根据参数名"itemId",获取参数值
console.log(itemId);
function getUrlParams(url){
  let reg = /([^?&=]+)=([^?&=]+)/g
  let obj = { }
  url.replace(reg, function(){
      obj[arguments[1]] = arguments[2]
  })
  return obj
}
let url = 'https://www.junjin.cn?a=1&b=2'
console.log(getUrlParams(url)) // { a: 1, b: 2 }

var url="http://localhost:8848/demand.html#/ManualPlan?idArr={%222209%22:{%22id%22:2209,%22type%22:1,%22planBatchCode%22:%225a45780a-c9d9-4bab-b683-6029450f12c2%22}}"
console.log(UrlSearch("idArr"));
 GetQueryString = (key) => {
        var name, value;
        var str = location.href; //取得整个地址栏
        var num = str.indexOf("?")
        str = str.substr(num + 1); //取得所有参数   stringvar.substr(start [, length ]

        var arr = str.split("&"); //各个参数放到数组里
        let obj = {}
        for (var i = 0; i < arr.length; i++) {
            num = arr[i].indexOf("=");
            if (num > 0) {
                name = arr[i].substring(0, num);
                value = arr[i].substr(num + 1);
                this[name] = value;
                obj[name] = value
            }
        }
        return obj[key]
    }