使用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-2022 CODEPRJ.COM