js获取url链接中的参数

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/

时间: 2024-10-24 05:11:15

js获取url链接中的参数的相关文章

使用JavaScript获取url(request)中的参数

这次是使用JavaScript来获取url(request)中的参数 在日常页面编写的过程中为了方便操作在<script>中通过使用window.location.href="要跳转的页面?参数1="+值1+"&参数2="+值2  来进行页面跳转并传值. 那么在跳转过去的页面怎样在<script>中获取到传过来的参数呢? 下面是小编的一个案例: //参数传出页面 window.location.href = "Framese

获取URL地址栏中的参数并返回值

* 作用:获取URL地址栏中的参数并返回值 * @param 需要获取URL中的某个参数, String类型 */function GetLocationParam(param) { // 得到window.location的某个参数 var ss = ('' + window.location).split('?'); if(ss.length > 1) { var sss = ss[1].split('&'); for(var i = 0; i < sss.length; i++)

获取url路径中的参数

简介 运用js的时候,我们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413&update=1, 你想要获取postid的内容8628413,或者update的内容1,那么下面就提供解决办法. 解决办法 其实解决办法也挺简单,只要通过一个函数就可以处理掉 //当前url地址栏 file:///C:/Users/admin/Desktop/test.html?id=2 func

JS获取jsp页面中的参数

有如下代码: //java代码 [html] view plain copy <%String parm="hello word"%> [html] view plain copy //html代码 <input type="hidden" id="test" value="<%=parm%>"> //js代码 <script type="text/javascript&qu

Js获取url传递过来的参数

原理跟取cookie值一样的 function getParamer(paramer){ var url=window.location.href.split("?")[1];            /*获取url里"?"后面的值*/  if(url.indexOf("&")>0){                                      /*判断是否是一个参数还是多个参数*/     urlParamArry=u

js获取URL地址中的GET参数

var $_GET = (function(){ var url = window.document.location.href.toString(); var u = url.split("?"); if(typeof(u[1]) == "string"){ u = u[1].split("&"); var get = {}; for(var i in u){ var j = u[i].split("="); get

JS获取URL链接参数

* **使用范例**: * * @example * var getParameter=new getparameter(); * var fromId=getParameter.from; */ function Getparameter(key){ var QueryString = { data: {}, Initial: function() { var aPairs,aTmp,a; var queryString = location.search; queryString = que

js 获取url并删除指定参数

//返回参数字符串 function remove_arg_from_url(arg_name_removed) { //设置或获取 href 属性中跟在问号后面的部分. var url = window.location.search; var arr = []; var query_string = ""; if ( url.lastIndexOf('?') == 0) { //截取 var arg_str = url.substr( url.lastIndexOf('?') +1

js获取url地址?后面参数

let url = window.location.search; 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]] =