使用js从URL中获取参数的方法


思路:

  1、通过window.location.search获取到URL中的参数串

  2、再根据?、&等字符,解析参数串到json对象中

  3、提供getParam方法根据key值获取对应的value

 

源码如下:

 
$(function(){
/* 创建tool工具对象,并初始化 */
    var oHttpLocalTool = HttpLocalToolInit();
    oHttpLocalTool.init();

    $('#inputPhoneNo').val(oHttpLocalTool.getURLParam("phoneNo"));
});

var HttpLocalToolInit = function(){
/* tool对象初始化时,解析URL参数串到 oHttpLocalToolobj.urlElments json对象中保存 */
    var oHttpLocalToolobj = new Object();

    oHttpLocalToolobj.init = function(){
        oHttpLocalToolobj.searchString = window.location.search;
        oHttpLocalToolobj.searchString = oHttpLocalToolobj.searchString.replace("?","");
        oHttpLocalToolobj.urlElments = {};   /* 创建JSON对象 */

        var tmpArray = oHttpLocalToolobj.searchString.split("&");  /* 使用split 拆分string到 数组中 */
        for(var i in tmpArray){
            var result = tmpArray[i].split("=");  /* 使用 = 作为分隔符再次拆分  */
            oHttpLocalToolobj.urlElments[result[0]] = result[1];  /* 拆分的结果装载到JSON对象中  */
        }
    };

    oHttpLocalToolobj.getURLParam = function(key){
        return oHttpLocalToolobj.urlElments[key];    /* getURLParam方法直接返回key对应的value值 */
    }

    return oHttpLocalToolobj;
};
 
网上有通过正则的方式获取URL参数的案例,但是是直接封装成了方法的。相当于每次获取参数时都需要进行一次正则解析,感觉比较影响效率

所以以后编写这些工具方法,也尽量封装成对象方法,以减少重复计算的性能消耗。

打赏

免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2021 CODEPRJ.COM