码迷,mamicode.com
首页 > Web开发 > 详细

js获取url链接中的参数

时间:2016-01-11 23:44:52      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

js获取url链接中的参数:
url传递参数这是常识,这里就不多介绍了,既然传递参数就要获取参数的值,下面就介绍一下如何实现此功能。
代码如下:

function request(paras){ 
  var url="softwhy.com?a=1&b=2";  
  var paraString=url.substring(url.indexOf("?")+1,url.length).split("&");  
  var paraObj={}  
  for(var i=0;i<paraString.length;i++){
    var j=paraString[i]; 
    paraObj[j.substring(0,j.indexOf("=")).toLowerCase()]=j.substring(j.indexOf("=")+1,j.length);  
  }  
  var returnValue=paraObj[paras.toLowerCase()];  
  if(typeof(returnValue)=="undefined"){  
    return "";  
  }
  else{  
    return returnValue;  
  }  
} 
console.log(request(‘a‘)); 
console.log(request(‘b‘));

以上代码实现了我们想要的功能,能够输出指定的url中参数的值,下面简单介绍一下实现过程。
一.实现原理:
原理其实非常的简单,一句话就是在正确的位置截取字符串,首先截取?以后的字符串,然后再使用&分割这个字符串生成数组,然后再通过截取字符串的方式,将参数名称和参数值作为键值对存入对象直接量,原理大致如此。
二.代码注释:
1.function request(param){},获取参数值得函数,参数为url中的传递的参数名称。
2.var url="softwhy.com?a=1&b=2",将要获取参数的url链接地址。
3.var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"),url.substring(url.indexOf("?")+1,url.length)先用这个截取?以后的字符,然后再使用split()函数分割字符串生成一个函数。
4.var paraObj={},声明一个对象直接量。
5.for(var i=0;i<paraString.length;i++){},遍历数组中的每一个元素。
6.var j=paraString将数组中的元素赋值给j。
7.paraObj[j.substring(0,j.indexOf("=")).toLowerCase()]=j.substring(j.indexOf("=")+1,j.length),j.substring(0,j.indexOf("=")).toLowerCase()获取的是url参数的名称,j.substring(j.indexOf("=")+1,j.length)获取参数值,这样就是将参数名作为属性名,参数值作为属性值。
8.var returnValue=paraObj[param.toLowerCase()],指定属性名称的属性值赋值给变量returnValue。
9.if(typeof(returnValue)=="undefined"){return ""},如果returnValue值为undefined,也就是说不存在,就返回空字符。
10.否则返回returnValue。
三.相关阅读:
1.substring()函数可以参阅javascript的String对象的substring()方法一章节。
2.indexOf()函数可以参阅javascript的String对象的indexOf()方法一章节。
3.split()函数可以参阅javascript的String对象的split()方法一章节。
4.toLowerCase()函数可以参阅javascript的String对象的toLowerCase()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9555

更多内容可以参阅:http://www.softwhy.com/javascript/

js获取url链接中的参数

标签:

原文地址:http://www.cnblogs.com/xiaofinder/p/5122893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!