龙空技术网

通过url传对象的问题

NativeBase 452

前言:

而今我们对“js正则冒号”大致比较重视,你们都想要分析一些“js正则冒号”的相关资讯。那么小编在网摘上搜集了一些对于“js正则冒号””的相关资讯,希望咱们能喜欢,我们快快来学习一下吧!

url正常传递参数格式为:

<script>     //跳转至页面,传递参数名字和年龄(如下代码实现)    window.location = ';+牵One+'&age='+24; </script>

但是有时我们需要传递的不只是一个键值对或者键值对多了会导致url过长,这个时候就可以将键值对存入一个对象中传递:

<script>     //声明一个对象存入需要传递的数据    var obj = {        name:'牵One',        age:24,        hobby:'basketball',        sex:'man',        weight:'57kg',        height:'170cm'    };    //通过url传递(需要将对象转换为JSON字符串)    window.location = ';+JSON.stringify(obj); </script>

这时对象就传递过去了,然后要讲的是对传过来对象的接收(获取):

<script>        //获取url带过来的参数,如下代码是获取url问号后面的字符串    var query = window.location.search;    //因为参数中包括有中文,会变成乱码,需转码    query = decodeURI(query);    //获取参数objData    var objData = query.spilt('=')[1];    //将获取的objData打印出来你会发现,冒号全变成了%3A,这时用正则替换回来    objData = objData.replace(/%3A/g,':');    //再将JSON字符串转为js对象即可    objData = JSON.parse(objData);    //此时的objData就是我们传过来的,打印出来如下    objData = {        name:'牵One',        age:24,        hobby:'basketball',        sex:'man',        weight:'57kg',        height:'170cm'    };</script>

Location 对象包含有关当前 URL 的信息。

Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

用JS获取地址栏参数的方法(超级简单)function GetQueryString(name){     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");     var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则     if(r!=null)return  unescape(r[2]); return null;} // 调用方法alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2"));alert(GetQueryString("参数名3"));下面举一个例子: 若地址栏URL为:abc.html?id=123&url= 那么,但你用上面的方法去调用:alert(GetQueryString("url")); 则会弹出一个对话框:内容就是  如果用:alert(GetQueryString("id"));那么弹出的内容就是 123 啦; 当然如果你没有传参数的话,比如你的地址是 abc.html 后面没有参数,那强行输出调用结果有的时候会报错: 所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量: var myurl=GetQueryString("url");if(myurl !=null && myurl.toString().length>1){   alert(GetQueryString("url"));}这样就不会报错了!

标签: #js正则冒号