Maison > interface Web > js tutoriel > le corps du texte

Comment obtenir les paramètres d'URL et les paramètres d'URL plus à l'aide de jquery

不言
Libérer: 2018-07-02 14:36:59
original
5140 Les gens l'ont consulté

Cet article vous présentera la méthode de jquery pour obtenir les paramètres d'url et les paramètres d'url, ainsi que la méthode d'ajout de paramètres dans l'url. Cet article vous présentera jquery pour obtenir les paramètres d'url de différentes manières. Amis intéressés, veuillez apprendre. ensemble

Utiliser jquery pour obtenir l'URL et utiliser jquery pour obtenir les paramètres d'URL sont des opérations que nous utilisons souvent. Ce qui suit en est une analyse sous forme de description de texte et d'analyse de code.

1. Il est très simple d'obtenir l'url avec jquery Le code est le suivant :

window.location.href;
Copier après la connexion

En fait, c'est le cas. utilise simplement l'objet window de base de javascript et aucune connaissance de l'utilisation de jquery.

2. Obtenir les paramètres d'URL avec jquery est plus compliqué et nécessite l'utilisation d'expressions régulières, il est donc important de bien apprendre les expressions régulières javascript

Tout d'abord, regardez comment obtenir un certain paramètre dans l'url simplement via JavaScript :

  //获取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; //返回参数值
  }
Copier après la connexion

Vous pouvez obtenir la valeur du paramètre en passant le nom du paramètre dans l'url via cette fonction , par exemple, l'url est

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

Nous voulons obtenir la valeur de reurl, nous pouvons écrire comme ceci :

var xx = getUrlParam('reurl');
Copier après la connexion

Je comprends comment obtenir l'url avec la méthode javascript Parameter, nous pouvons utiliser cette méthode pour étendre une méthode pour jquery afin d'obtenir les paramètres d'url via jquery. Le code suivant étend une méthode getUrlParam() pour. jquery

  (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);
Copier après la connexion

Après avoir étendu cette méthode pour jquery Nous pouvons obtenir la valeur d'un certain paramètre grâce à la méthode suivante :

var xx = $.getUrlParam('reurl');
Copier après la connexion

Code complet :

 
 
Copier après la connexion

2014-4-23 Modification

Aujourd'hui Lorsque vous utilisez la méthode ci-dessus pour obtenir les paramètres dans l'URL, les paramètres chinois transmis dans l'URL seront tronqués, quelle que soit la façon dont vous les testez lors de l'analyse. Après quelques débogages, j'ai découvert que lorsque je passais des paramètres, j'utilisais encodeURI pour le codage des caractères chinois, tandis que la méthode ci-dessus utilisait unescape lors de l'analyse du codage des paramètres. Il suffit de le changer en decodeURI.

Pièce jointe : Introduction dans W3School :

Fonction JavaScript unescape()

La fonction unescape() peut décoder les chaînes codées par 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(&#39;=&#39;);//查找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>
Copier après la connexion

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 != &#39;undefined&#39; && 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);
Copier après la connexion

使用方法

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

jQuery实现监控页面所有ajax请求的方法

关于jquery ajaxfileuplod 上传文件 essyui laoding的效果

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal