752 votes

Obtenir le paramètre d'url jquery

J'ai vu beaucoup d'exemples de jQuery où la taille et le nom de paramètre sont inconnus. Mon URL ne va jamais avoir une seule chaîne:

 http://example.com?sent=yes
 

Je veux juste détecter:

  1. Est-ce que sent existe?
  2. Est-ce égal à "oui"?

1402voto

Sameer Kazi Points 835

Meilleure solution ici .

 function getUrlParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}          
 

Et voici comment vous pouvez utiliser cette fonction en supposant que l'URL est,
http://dummy.com/?technology=jquery&blog=jquerybyexample .

 var tech = getUrlParameter('technology');
var blog = getUrlParameter('blog');
 

227voto

Gaz Points 126

Extrait de code jQuery pour obtenir les variables dynamiques stockées dans l'URL en tant que paramètres et les stocker en tant que variables JavaScript prêtes à être utilisées avec vos scripts:

 $.urlParam = function(name){
    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (results==null){
       return null;
    }
    else{
       return results[1] || 0;
    }
}
 

example.com?param1=name&param2=&id=6

 $.urlParam('param1'); // name
$.urlParam('id');        // 6
$.urlParam('param2');   // null
 

exemple params avec des espaces

 http://www.jquery4u.com?city=Gold Coast
console.log($.urlParam('city'));  
//output: Gold%20Coast



console.log(decodeURIComponent($.urlParam('city'))); 
//output: Gold Coast
 

104voto

AwokeKnowing Points 1255

Je colle toujours ceci comme une ligne. Maintenant params a les vars:

 var params={};window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(str,key,value){params[key] = value;});
 

10voto

user3673335 Points 1

Peut-être pourriez-vous donner un coup d'œil à Dentist JS? (avertissement: j'ai écrit le code)

code:

 document.URL == "http://helloworld.com/quotes?id=1337&author=kelvin&message=hello"
var currentURL = document.URL;
var params = currentURL.extract();
console.log(params.id); // 1337
console.log(params.author) // "kelvin"
console.log(params.message) // "hello"
 

Avec Dentist JS, vous pouvez appeler la fonction extract () sur toutes les chaînes (par exemple, document.URL.extract ()) et vous obtenez une HashMap de tous les paramètres trouvés. Il est également personnalisable pour gérer les délimiteurs et tout.

Version miniaturisée <1kb

4voto

Tats_innit Points 20575

Essayez cette démo de travail http://jsfiddle.net/xy7cX/

API:

Cela devrait aider :)

code

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

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

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