1608 votes

Comment obtenir la valeur du paramètre d’URL ?

Je vais avoir l’URL avec le paramètre comme suit,

www.test.com/t.html?a=1&b=3&c=M2-M3-M4-M5

J’ai besoin d’obtenir la valeur entière de `` .

J’ai essayé de lire l’URL mais obtenu seulement `` , besoin de faire cela à l’aide de JavaScript.

2488voto

Quentin Points 325526

JavaScript n'a rien construit dans pour la manipulation des paramètres de chaîne de requête.

Vous pouvez accéder location.search, ce qui vous donne de l' ? personnage à la fin du fragment identifiant (#foo), selon la première éventualité.

Ceci suggère que vous avez écrit (ou trouvé une tierce partie) du code pour la lecture de la chaîne de requête et d'accéder simplement ce que vous voulez - mais vous n'avez pas partagé avec nous, de sorte qu'il est difficile de dire ce qui est mal avec elle.

Le code que j'utilise généralement est ceci:

var QueryString = function () {
  // This function is anonymous, is executed immediately and 
  // the return value is assigned to QueryString!
  var query_string = {};
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    	// If first entry with this name
    if (typeof query_string[pair[0]] === "undefined") {
      query_string[pair[0]] = pair[1];
    	// If second entry with this name
    } else if (typeof query_string[pair[0]] === "string") {
      var arr = [ query_string[pair[0]], pair[1] ];
      query_string[pair[0]] = arr;
    	// If third or later entry with this name
    } else {
      query_string[pair[0]].push(pair[1]);
    }
  } 
    return query_string;
} ();

Vous pouvez ensuite accéder QueryString.c

257voto

Ates Goral Points 47670

J’ai vu la plupart des implémentations manquez décodage URL les noms et les valeurs.

Voici une fonction d’utilité générale qui fait aussi bon décodage URL :

252voto

Haim Evgi Points 40786

je prends ce à partir d'un lien

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

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 null;
  else
    return results[1];
}

La façon dont la fonction est utilisée est assez simple. Disons que vous avez l'URL suivante:

http://www.foo.com/index.html?bob=123&frank=321&tom=213#top

Vous souhaitez obtenir la valeur de la franc paramètre de sorte que vous appeler la fonction javascript comme suit:

var frank_param = gup( 'frank' );

236voto

mzalazar Points 645

IL S’AGIT D’UN MOYEN FACILE DE VÉRIFIER QU’UN SEUL PARAMÈTRE :

Exemple d’URL :

Exemple Javascript :

Si « myParam » existe dans l’URL... myParam variable contiendra « 2 », sinon il ne sera pas défini.

Peut-être que vous voulez une valeur par défaut, dans ce cas :

82voto

Blixt Points 23266

Vous pouvez obtenir la chaîne de requête dans `` , puis vous pouvez fractionner tout après le point d’interrogation :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X