Utilizzo del parametro GET di un URL in JavaScript



Answers

È possibile ottenere la parte "ricerca" dell'oggetto posizione, quindi analizzarla.

var matches = /param1=([^&#=]*)/.exec(window.location.search);
var param1 = matches[1];
Question

Questa domanda ha già una risposta qui:

Se sono su una pagina come

http://somesite.com/somepage.php?param1=asdf

Nel JavaScript di quella pagina, vorrei impostare una variabile sul valore del parametro nella parte GET dell'URL.

Quindi in JavaScript:

<script>
   param1var = ...   // ... would be replaced with the code to get asdf from URI
</script>

Cosa sarebbe?




Questo sembrava ok:

function gup( name ){
   name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
   var regexS = "[\\?&]"+name+"=([^&#]*)";
   var regex = new RegExp( regexS );
   var results = regex.exec( window.location.href );
   if( results == null )
      return "";
   else
      return results[1];
}

Da http://www.netlobo.com/url_query_string_javascript.html




Non devi fare nulla di speciale, in realtà. È possibile combinare insieme JavaScript e PHP per ottenere variabili da PHP direttamente in JavaScript.

var param1val = <?php echo $_GET['param1'] ?>;



Puoi usare questa funzione

function getParmFromUrl(url, parm) {
    var re = new RegExp(".*[?&]" + parm + "=([^&]+)(&|$)");
    var match = url.match(re);
    return(match ? match[1] : "");
}



Dal mio archivio di programmazione:

function querystring(key) {
   var re=new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi');
   var r=[], m;
   while ((m=re.exec(document.location.search)) != null) r[r.length]=m[1];
   return r;
}

Se il valore non esiste, viene restituito un array vuoto.
Se il valore esiste, viene restituito un array che ha un elemento, il valore.
Se esistono diversi valori con il nome, viene restituito un array contenente ciascun valore.

Esempi:

var param1var = querystring("param1")[0];

document.write(querystring("name"));

if (querystring('id')=='42') alert('We apoligize for the inconvenience.');

if (querystring('button').length>0) alert(querystring('info'));



Related