您的位置:首页 > Web前端 > JavaScript

在js中如何获取地址栏上的参数呢

2014-04-26 13:08 387 查看
我们知道在PHP开发中,有一个强大的全局函数 $_GET
可以方便的帮我们找到地址栏上的变量,如找页数$_GET['page'].
那么在js中怎么能获取到呢?
我们可以封装一个js函数,以方便取地址栏上的参数.
js中可以用一个全局的变量
window.location.search; 它就是存放地址栏内容的一个节点(姑且这么理解吧,反正我是这样理解的);

剩下的事,就是运用js的处理字符串的功夫了.
首先我们看 通过 window.location.search得到的url.
url字符串中是否 '?' 号. 存在?号才有可能存在参数,如果不存在则不用去理会了,直接把strId返回,也就是初始赋值"".

好,如果有?号,说明有参数!
继续分析!
那我们看看有没有 &号吧,
如果没有,我们直接用"="分割处理后的字符串,得到想要的参数!

如果有,说明有多个参数,我们得用 & 号将后一段字符分成数组,并循环它,直到分析的单元中再用"="分割字符串和传入的参数一致,那么就将该单元用 "=" 分割的后一段字符串赋值给strId,返回,大功告成.

文字描述,甚是旦疼,直接把上方法

function myQueryString(str){
var strId=''; var url=window.location.search; //为测试方便,你可以写死一个地址栏字符串在这里如index.php?id=1 if(url.indexOf('?')!= -1){ strs=url.split('?')[1]; if(strs.indexOf('&')!= -1){ oStr=strs.split('&'); var len = oStr.length for(var i=0;i<len;i++){ if(oStr[i].split('=')[0]== str){ strId=oStr[i].split('=')[1]; } } }else{ if(strs.split('=')[0] == str){ strId=strs.split('=')[1]; } } }; return strId; }
myQueryString(id);
传入什么参数,就能得到什么参数的值

本文出自 “909是个目标” 博客,请务必保留此出处http://robert1joy.blog.51cto.com/4489523/1403348
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: