2017-02-23 2 views
0

Cette fonction ne fonctionne que pour un paramètre.Fonction JavaScript pour récupérer plusieurs valeurs de chaîne de requête

function getQueryStringValue(key) { 
    debugger; 
    return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 
}; 

S'il vous plaît je besoin d'une fonction JavaScript qui permet de récupérer plus d'un paramètre querystring, je dois passer le nom du paramètre comme la clé de la fonction. Merci

La fonction dans le lien Alex partagé est comme ci-dessous

 

    function getParameterByName(name, url) { 
     if (!url) { 
      url = window.location.href; 
     } 
     name = name.replace(/[\[\]]/g, "\\$&"); 
     var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
      results = regex.exec(url); 
     if (!results) return null; 
     if (!results[2]) return ''; 
     return decodeURIComponent(results[2].replace(/\+/g, " ")); 
    }; 

Avec mon URL comme ceci:

 



     var url= 'search-results.html?param1=unth?param2=lagos'; 

Et je passe cela à la fonction:

 

    var param1 = getParameterByName('param1'); 
    var param2 = getParameterByName('param2'); 

Il retourne param1 en tant que: luth? Param2 = lagos au lieu de luth.

C'est le même problème avec la fonction que j'ai partagée. Ma question est une fonction JavaScript qui récupère plusieurs paramètres querystring mais la fonction ne fonctionne que pour un paramètre

+1

double possible de [Comment puis-je obtenir des valeurs de chaîne de requête en JavaScript?] (Http://stackoverflow.com/questions/901115/how-can-i-get-query -string-values-in-javascript) –

+0

Merci Alex. Je vais tester la fonction dans le lien et revenir à vous. –

Répondre

0

Votre URL doit être: var url= 'search-results.html?param1=unth&param2=lagos';

Dans cette fonction de cas fonctionnera.

var param1 = getParameterByName('param1'); //return unth

var param2 = getParameterByName('param2'); //return lagos

+0

Merci beaucoup SouXin. Tu as raison. Cela fonctionne maintenant après l'amendement. –