432 Stimmen

Wie man GET-Parameter von JavaScript abruft

Bedenken Sie:

http://example.com/page.html?returnurl=%2Fadmin

Für js innerhalb page.html wie kann sie abrufen GET Parameter?

Für das obige einfache Beispiel, func('returnurl') sollte sein /admin .

Aber es sollte auch für komplexe Abfragezeichenfolgen funktionieren...

21voto

Ali Punkte 19874

Dieser verwendet einen regulären Ausdruck und gibt null zurück, wenn der Parameter nicht existiert oder keinen Wert hat:

function getQuery(q) {
   return (window.location.search.match(new RegExp('[?&]' + q + '=([^&]+)')) || [, null])[1];
}

13voto

lsblsb Punkte 121

Ich mache es so (um einen bestimmten get-Parameter abzurufen, hier 'parameterName'):

var parameterValue = decodeURIComponent(window.location.search.match(/(\?|&)parameterName\=([^&]*)/)[2]);

9voto

Lucas Serena Punkte 91

Hier habe ich diesen Code erstellt, um die GET-Parameter in ein Objekt umzuwandeln, um sie leichter verwenden zu können.

// Get Nav URL
function getNavUrl() {
    // Get URL
    return window.location.search.replace("?", "");
};

function getParameters(url) {
    // Params obj
    var params = {};
    // To lowercase
    url = url.toLowerCase();
    // To array
    url = url.split('&');

    // Iterate over URL parameters array
    var length = url.length;
    for(var i=0; i<length; i++) {
        // Create prop
        var prop = url[i].slice(0, url[i].search('='));
        // Create Val
        var value = url[i].slice(url[i].search('=')).replace('=', '');
        // Params New Attr
        params[prop] = value;
    }
    return params;
};

// Call of getParameters
console.log(getParameters(getNavUrl()));

6voto

Randhir Rawatlal Punkte 195

Um die Parameter als JSON-Objekt zu erhalten:

console.log(getUrlParameters())

function getUrlParameters() {
    var out = {};
    var str = window.location.search.replace("?", "");
    var subs = str.split(`&`).map((si)=>{var keyVal = si.split(`=`); out[keyVal[0]]=keyVal[1];});
    return out
}

4voto

Chandrashekar Punkte 31

Ich habe eine einfache JavaScript-Funktion für den Zugriff auf GET-Parameter von der URL erstellt.

Fügen Sie einfach diesen JavaScript-Quellcode ein und Sie können auf get Parameter. Z.B.: in http://example.com/index.php?language=french die language kann die Variable wie folgt aufgerufen werden $_GET["language"] . In ähnlicher Weise wird eine Liste aller Parameter in einer Variablen gespeichert $_GET_Params als ein Array. Sowohl das JavaScript als auch das HTML sind im folgenden Codeschnipsel enthalten:

<!DOCTYPE html>
<html>
  <body>
    <!-- This script is required -->
    <script>
    function $_GET() {
      // Get the Full href of the page e.g. http://www.google.com/files/script.php?v=1.8.7&country=india
      var href = window.location.href;

      // Get the protocol e.g. http
      var protocol = window.location.protocol + "//";

      // Get the host name e.g. www.google.com
      var hostname = window.location.hostname;

      // Get the pathname e.g. /files/script.php
      var pathname = window.location.pathname;

      // Remove protocol part
      var queries = href.replace(protocol, '');

      // Remove host part
      queries = queries.replace(hostname, '');

      // Remove pathname part
      queries = queries.replace(pathname, '');

      // Presently, what is left in the variable queries is : ?v=1.8.7&country=india

      // Perform query functions if present
      if (queries != "" && queries != "?") {

    // Remove question mark '?'
        queries = queries.slice(1);

        // Split all the different queries
        queries = queries.split("&");

        // Get the number of queries
        var length = queries.length;

        // Declare global variables to store keys and elements
        $_GET_Params = new Array();
        $_GET = {};

        // Perform functions per query
        for (var i  = 0; i < length; i++) {

          // Get the present query
          var key = queries[i];

          // Split the query and the value
          key = key.split("=");

          // Assign value to the $_GET variable
          $_GET[key[0]] = [key[1]];

          // Assign value to the $_GET_Params variable
          $_GET_Params[i] = key[0];
        }
      }
    }

    // Execute the function
    $_GET();
    </script>
    <h1>GET Parameters</h1>
    <h2>Try to insert some get parameter and access it through JavaScript</h2>
  </body>
</html>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X