国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jquery獲取url參數及url加參數的方法

2019-11-20 11:24:15
字體:
來源:轉載
供稿:網友

使用jquery獲取url以及使用jquery獲取url參數是我們經常要用到的操作,下面通過文字說明加代碼分析的形式給大家解析,具體詳情請看下文。

1、jquery獲取url很簡單,代碼如下:

復制代碼 代碼如下:

window.location.href;

其實只是用到了javascript的基礎的window對象,并沒有用jquery的知識。

2、jquery獲取url參數比較復雜,要用到正則表達式,所以學好javascript正則式多么重要的事情

首先看看單純的通過javascript是如何來獲取url中的某個參數:

  //獲取url中的參數  function getUrlParam(name) {   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標參數的正則表達式對象   var r = window.location.search.substr(1).match(reg); //匹配目標參數   if (r != null) return unescape(r[2]); return null; //返回參數值  }

通過這個函數傳遞url中的參數名就可以獲取到參數的值,比如url為

http://localhost:33064/WebForm2.aspx?reurl=WebForm1.aspx

我們要獲取reurl的值,可以這樣寫:

復制代碼 代碼如下:

var xx = getUrlParam('reurl');

明白了javascript獲取url參數的方法,我們可以通過這個方法為jquery擴展一個方法來通過jquery獲取url參數,下面的代碼為jquery擴展了一個getUrlParam()方法

  (function ($) {    $.getUrlParam = function (name) {     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");     var r = window.location.search.substr(1).match(reg);     if (r != null) return unescape(r[2]); return null;    }   })(jQuery);

為jquery擴展了這個方法了之后我們就可以通過如下方法來獲取某個參數的值了:

  

復制代碼 代碼如下:

 var xx = $.getUrlParam('reurl');

完整代碼:

 <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script> <script type="text/javascript">  $(function () {   //方法二:   (function ($) {    $.getUrlParam = function (name) {     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");     var r = window.location.search.substr(1).match(reg);     if (r != null) return unescape(r[2]); return null;    }   })(jQuery);   //方法二:   var xx = $.getUrlParam('reurl');   //方法一:   // var xx = getUrlParam('reurl');   alert(xx);  });  //方法一:  //獲取url中的參數  function getUrlParam(name) {   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標參數的正則表達式對象   var r = window.location.search.substr(1).match(reg); //匹配目標參數   if (r != null) return unescape(r[2]); return null; //返回參數值  } </script>

2014-4-23 修改

今天在用上面的方法獲取url中的參數時,url中傳遞的中文參數在解析的時候無論怎么測試,獲取的都是亂碼。經過一番調試后發現,我再傳遞參數時,對漢字編碼使用的是 encodeURI ,而上面的方法在解析參數編碼時使用的是unescape ,修改為 decodeURI 就可以了。

附: W3School中的介紹:

JavaScript unescape() 函數

unescape() 函數可對通過 escape() 編碼的字符串進行解碼。

參數 描述
string 必需。要解碼或反轉義的字符串。

說明

該函數的工作原理是這樣的:通過找到形式為 %xx 和 %uxxxx 的字符序列(x 表示十六進制的數字),用 Unicode 字符 /u00xx 和 /uxxxx 替換這樣的字符序列進行解碼。

提示和注釋

注釋:ECMAScript v3 已從標準中刪除了 unescape() 函數,并反對使用它,因此應該用 decodeURI() 和 decodeURIComponent() 取而代之。

綜上: javascript對參數編碼解碼方法要一致:

escape()   unescape()

encodeURI()   decodeURI()

encodeURIComponent()    decodeURIComponent() 

網上找的另一種javascript獲取url中參數的方法:

<script language="JavaScript" type="text/javascript"> function GetUrlParms() { var args=new Object();  var query=location.search.substring(1);//獲取查詢串  var pairs=query.split("&");//在逗號處斷開  for(var i=0;i<pairs.length;i++)  {   var pos=pairs[i].indexOf('=');//查找name=value    if(pos==-1) continue;//如果沒有找到就跳過    var argname=pairs[i].substring(0,pos);//提取name    var value=pairs[i].substring(pos+1);//提取value    args[argname]=unescape(value);//存為屬性  } return args;}var args = new Object();args = GetUrlParms();//如果要查找參數key:if(args["id"]!=undefined){//如果要查找參數key:var value1 = args["id"] ;alert(value1);}</script>

 jquery 取url參數和在url加參數

(function ($) { $.extend({  Request: function (m) {   var sValue = location.search.match(new RegExp("[/?/&]" + m + "=([^/&]*)(/&?)", "i"));   return sValue ? sValue[1] : sValue;  },  UrlUpdateParams: function (url, name, value) {   var r = url;   if (r != null && r != 'undefined' && r != "") {    value = encodeURIComponent(value);    var reg = new RegExp("(^|)" + name + "=([^&]*)(|$)");    var tmp = name + "=" + value;    if (url.match(reg) != null) {     r = url.replace(eval(reg), tmp);    }    else {     if (url.match("[/?]")) {      r = url + "&" + tmp;     } else {      r = url + "?" + tmp;     }    }   }   return r;  } });})(jQuery);

使用方法

dev.zhang.com/IOF.Signup/index_uscn_chs.html?act=1

1、取值使用

$.Request("act") = 1

2、url加參數

$.UrlUpdateParams(window.location.href, "mid", 11111),

結果window.location.href?mid=11111

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 塔城市| 师宗县| 古浪县| 台东市| 南通市| 隆林| 隆安县| 遵义县| 宾川县| 伊川县| 青龙| 馆陶县| 依安县| 澄江县| 济南市| 鄂尔多斯市| 嵊州市| 迁西县| 长宁县| 南汇区| 离岛区| 涡阳县| 景泰县| 巩义市| 苏尼特右旗| 东乡族自治县| 昂仁县| 二连浩特市| 色达县| 南充市| 得荣县| 荣成市| 崇义县| 江源县| 榆社县| 屏东市| 天津市| 湘潭县| 文化| 页游| 台安县|