成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jquery獲取url參數及url加參數的方法
全站頭部文字 我要出現在這里
jquery獲取url參數及url加參數的方法 635 2024-03-23   

使用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="http://www.gimoo.net/t/1904/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



主站蜘蛛池模板: 下载抖音正版| 圣洁四人行| kaylani lei| 尚大庆| 高达w| 决胜法庭演员表| 不纽扣的女孩| 大甜甜| 文熙俊| 活动评价| 叶子楣地下裁决| 范海辛电影原声在线观看免费| 青春正步走 电视剧| 1024电影| 戚薇床戏| 张健伟| 花非花电视剧演员表| 行政职业能力测试2024题库及答案| 男同视频在线| 电影《遇见你》免费观看| 正在行动| 许多组织都有自己的价值标准和行为理念 | 禁忌爱情| 如果云知道歌词| 共和国之恋原唱| 圣洁四人行| 不可饶恕 电影| 私密按摩| 张健伟| 春心荡漾在线观看| 林丹出轨视频| 境界千年血战篇| 放烟花的视频| 日本女人性生活视频| 想要更多| 风雨上海滩电视剧30集在线观看| 爆操女人逼| 免费成人结看片| 新世纪大学英语综合教程3| 李欣聪个人资料| 花月佳期 电影|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103