Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung zweier Methoden zum Umleiten von URL-Parametern in JavaScript

高洛峰
Freigeben: 2017-03-23 15:48:54
Original
2170 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich zwei Methoden zum Umleiten von URL-Parametern in JavaScript vorgestellt. Ich werde im Folgenden nicht viel sagen, schauen Sie sich einfach den Beispielcode an.

1. Zeichenverbindungsform

function setUri(para, val) {
      var strNewUrl = new String();
      var strUrl = new String();
      var url = window.location.href;
      strUrl = window.location.href;
 
      if (strUrl.indexOf("?") != -1) {
        strUrl = strUrl.substr(strUrl.indexOf("?") + 1);  //获取参数
 
        if (strUrl.toLowerCase().indexOf(para.toLowerCase()) == -1) { //如果没有找到参数,则直接赋值
          strNewUrl = url + "&" + para + "=" + val;
          window.location.href = strNewUrl;
        } else {
          var aParam = strUrl.split("&");
 
          for (var i = 0; i < aParam.length; i++) {
            if (aParam[i].substr(0, aParam[i].indexOf("=")).toLowerCase() == para.toLowerCase()) {
              aParam[i] = aParam[i].substr(0, aParam[i].indexOf("=")) + "=" + val;
            }
          }
          strNewUrl = url.substr(0, url.indexOf("?") + 1) + aParam.join("&");
          window.location.href = strNewUrl;
        }
      } else {
        strUrl += "?" + para + "=" + val;
        window.location.href = strUrl;
      }
    }
Nach dem Login kopieren

2. Verwendung regulärer Regeln

//使用正则
  function setPara(para, val) {
    var newpar = "";
    var url = window.location.href;
    var pars = location.search.substring(1);
 
    var reg = new RegExp("(^|)" + para + "=([^&]*)(|$)");
    if (reg.test(pars)) {  //有需要的参数para
 
      var p1 = pars.split(para)[0];  //productID=100857&count=1&
      var p2 = pars.split(para)[1];  //=75825&coupval=1.5&addressID=358&invoiceID=1245&invoiceName=jesse
 
      if (p2.indexOf("&") > -1) {
        var p3 = p2.split("&")[0];
        if (p3 == "=" + val + "") {
          return false;
        }
        newpar = p1 + para + &#39;=&#39; + val + &#39;&&#39; + (p2.split(p3))[1];
      } else {
        if (p1) {
          newpar = p1 + para + &#39;=&#39; + val;
        } else {
          newpar = para + &#39;=&#39; + val;
        }
      }
    } else {
      if (url.indexOf("?") == -1) {
        newpar = pars +"&"+ para + "=" + val;
      } else {
        newpar = pars + "&" + para + "=" + val;
      }
    }
    window.location.href = location.href.split(&#39;?&#39;)[0] + "?" + newpar;
  }
Nach dem Login kopieren

zum Aufrufen von:

<script>
window.onload = function () {
      var btn = document.getElementById("btnClick");
 
      btn.onclick = function () {
 
          // url地址:http://localhost:54714/testuri.aspx?productID=100857&count=1&coupresId=12785&coupval=1.5&openId=12456&addressID=358&invoiceID=&invoiceName=
          //setUri("coupresId", 0);
          setPara("coupresId", 0); 
    } 
  }
</script>
 
<input type="button" id="btnClick" value="重定义参数" />
Nach dem Login kopieren

Verwandte Artikel:

Drei Methoden zur PHP-Seitenumleitung

Der Unterschied zwischen PHP-Umleitung und pseudostatischer Umleitung

Geben Sie externe Links an zur Website Machen Sie eine Weiterleitung

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage