下面我将写出一个函数,用来获取GET方法提交的参数

function getParameter(parameterName)
{
var string = window.location.search;
var indexStart = string.indexOf(parameterName+"=");
if(indexStart==-1)
return false;
var result = string.slice(indexStart+parameterName.length+1);
var indexEnd = result.indexOf("&");
if(indexEnd!=-1)
result = result.slice(0,indexEnd); return decodeURI(result);
}

完整代码

下面我将一步步讲解每步的作用。

假设我们的URL是www.****.com?a=1&bc=23&d=5,而我们想要取bc的值

var string = window.location.search;

  这一步,将URL中“?”后面的字符串,也就是"a=1&bc=23&d=5"保存在变量string中。

var indexStart = string.indexOf(parameterName+"=");
if(indexStart==-1)
return false;

  这一步,将寻找"bc="在string中首次出现的位置,如果没有找到"bc=",那么将结束函数并返回false。

var result = string.slice(indexStart+parameterName.length+1);

  这次,我们将"bc="后面的所有字符都保存在result变量中。当然这只是我们最终结果的开头部分。

var indexEnd = result.indexOf("&");
if(indexEnd!=-1)
result = result.slice(0,indexEnd);

  这次我们来寻找result中结束的地方,通常来讲都是都是"&"符号作为结束的地方。当然,如果本身就是在string中作为最后一个参数,比如"d=5"这个,那么我们之前的result就已经是正确的结果了,不需要这一步了。

return decodeURI(result);

  最后我们返回result作为最终的结果。由于如果参数中又中文的话,会出现乱码,所以我们在这里加上一个decodeURI函数来返回正确的中文字符。

好了,到这里,我们就已经大功告成了!

使用Javascript获得网页中通过GET方法提交的参数的更多相关文章

  1. JavaScript在网页中使用以及注意事项

    <script>标签的解析<script>xxx</script>这组标签,是用于在 html 页面中插入 js 的主要方法.它主要有以下几个属性:charset: ...

  2. 简谈 JavaScript、Java 中链式方法调用大致实现原理

    相信,在 JavaScript .C# 中都见过不少链式方法调用,那么,其中实现该类链式调用原理,大家有没有仔细思考过?其中 JavaScript 类库:jQuery 中就存在大量例子,而在 C# 中 ...

  3. 【JavaScript】js中的call方法

    moziila官方文档链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Funct ...

  4. 类中定义的方法,self参数

    class a(): def __init__(self): self.aa = 5 def test(): print "haha" a.test() self指的是对象本身,而 ...

  5. JavaScript在页面中的引用方法

    现在前端开发越来越流行,框架也越来越多,像ExtJs.JQuery.Bootstrap等.虽然入行这么多年,但是感觉自己在前端方面还是存在基础不牢的地方,特别是CSS和JS.因此最近打算重新阅读这方面 ...

  6. 聊聊JavaScript在工作中常用的方法(一)

    一.字符串转数组(split方法) 废话少说,直接上代码: //例子1 var str="abc,def,ghi"; var strArray=str.split(",& ...

  7. javascript关闭网页的几种方法

    js关闭当前页面(窗口)的几种方式总结,需要的朋友可以参考一下: 1. 不带任何提示关闭窗口的js代码 <a href="javascript:window.opener=null;w ...

  8. HTML5 CSS JavaScript在网页中扮演的角色

    HTML (content layer) CSS (presentation layer) JavaScript (Interactive layer) 参考链接: [1] https://www.y ...

  9. 使用javaScript解决asp.net中mvc使用ajax提交数组参数的匹配问题

    想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总是会发生取不到值的情况,当然网上也有很多解决的例子,但都是在服 ...

随机推荐

  1. ZOJ3469 Food Delivery 区间DP

    题意:有一家快餐店送外卖,现在同时有n个家庭打进电话订购,送货员得以V-1的速度一家一家的运送,但是每一个家庭都有一个不开心的值,每分钟都会增加一倍,值达到一定程度,该家庭将不会再订购外卖了,现在为了 ...

  2. BNUOJ-29364 Bread Sorting 水题

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=29364 题意:给一个序列,输出序列中,二进制1的个数最少的数.. 随便搞搞就行了,关于更多 ...

  3. hdoj 2099 整除的尾数

    整除的尾数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. 把SVN添加到windows服务

    sc create SVN_Service binpath= "D:\DevTools\Subversion\bin\svnserve.exe --service --root D:\Dev ...

  5. 在Win8 Mertro 中使用SQLite

    在Win8 Mertro 中使用SQLite 分类:             .net 开发              2012-09-19 18:17     1229人阅读     评论(3)   ...

  6. 了解CSS/CSS3原生变量var

    一.变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处. 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,C ...

  7. jquery ajax 事件执行顺序

    jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...

  8. [React Native] Reusable components with required propType

    In this React Native lesson, we will be creating a reusable Badge component. The component will also ...

  9. iOS开发——面试笔试精华(二)

    面试笔试精华(二) 警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!! 1.        Difference between shallow copy and deep copy? ...

  10. Abap 内表的语法

    ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的  内表支持循环对每行数据进行操作,也支持整体操作 ...