785 Stimmen

Wie man URL-Parameter mit jQuery oder reinem JavaScript abruft?

Ich habe viele jQuery-Beispiele gesehen, bei denen Größe und Name des Parameters unbekannt sind.

Meine URL wird immer nur eine Zeichenfolge haben:

http://beispiel.com?sent=yes

Ich möchte nur erkennen:

  1. Existiert sent?
  2. Ist es gleich "yes"?

6voto

Tarun Gupta Punkte 6127

Ich hoffe, dass dies helfen wird.

   function getParameters() {
     var searchString = window.location.search.substring(1),
       params = searchString.split("&"),
       hash = {};

     if (searchString == "") return {};
     for (var i = 0; i < params.length; i++) {
       var val = params[i].split("=");
       hash[unescape(val[0])] = unescape(val[1]);
     }

     return hash;
   }

    $(window).load(function() {
      var param = getParameters();
      if (typeof param.sent !== "undefined") {
        // Do something.
      }
    });

5voto

Praveen Tiwari Punkte 985
function GetRequestParam(param)
{
    var res = null;
    try{
        var qs = decodeURIComponent(window.location.search.substring(1));//get everything after then '?' in URI
        var ar = qs.split('&');
        $.each(ar, function(a, b){
            var kv = b.split('=');
            if(param === kv[0]){
                res = kv[1];
                return false;//break loop
            }
        });
    }catch(e){}
    return res;
}

5voto

Tats_innit Punkte 33801

Versuchen Sie diese funktionierende Demo http://jsfiddle.net/xy7cX/

API:

Dies sollte helfen :)

code

var url = "http://myurl.com?sent=yes"

var pieces = url.split("?");
alert(pieces[1] + " ===== " + $.inArray("sent=yes", pieces));

5voto

Brian F Punkte 1486

Dies wird Ihnen ein schönes Objekt geben, mit dem Sie arbeiten können

    function queryParameters () {
        var result = {};

        var params = window.location.search.split(/\?|\&/);

        params.forEach( function(it) {
            if (it) {
                var param = it.split("=");
                result[param[0]] = param[1];
            }
        });

        return result;
    }

Und dann;

    if (queryParameters().sent === 'yes') { .....

5voto

alexw Punkte 7780

Dies mag übertrieben sein, aber es gibt jetzt eine ziemlich beliebte Bibliothek zur Analyse von URIs, namens URI.js.

Beispiel

var uri = "http://example.org/foo.html?technology=jquery&technology=css&blog=stackoverflow";
var components = URI.parse(uri);
var query = URI.parseQuery(components['query']);
document.getElementById("result").innerHTML = "URI = " + uri;
document.getElementById("result").innerHTML += "technology = " + query['technology'];

// Wenn Sie in Ihrer Konsole nachsehen, werden Sie feststellen, dass diese Bibliothek ein JS-Array für mehrwertige Abfragen generiert!
console.log(query['technology']);
console.log(query['blog']);

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