2010-04-21 5 views
3

En utilisant document.referrer nous aurons toute la référence URL en JavaScript, comme les suivantes:chaîne de requête en JavaScript

http://localhost/testwordpress/wp-admin/admin.php?page=thesis-options&upgraded=true 

De cette sortie, comment pouvons-nous extraire la partie de chaîne de requête uniquement:

?page=thesis-options&upgraded=true 

Y at-il une méthode en JavaScript?

Répondre

1

Si vous êtes à la recherche pour obtenir les valeurs de la chaîne de requête que j'utilise la fonction suivante:

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

Il suffit de passer dans la clé que vous recherchez et récupérer la valeur. IE: getQueryString (« mise à niveau ») retournerait vrai

+0

excellente ce que je recherche – abhis

+3

Notez que vous pouvez changer '' window.location.href' avec document.referrer'. –

+0

@Daniel Vassallo: C'est un bon point. window.location.href n'aura que ce que l'utilisateur voit dans son navigateur. Si vous recherchez des informations spécifiques au référent, il peut être préférable d'utiliser document.referrer. – ashurexm

4

Pour obtenir la chaîne de requête à partir document.referrer, vous pouvez utiliser la méthode split():

var qs = document.referrer.split('?')[1]; 

if (typeof qs !== 'undefined') { 
    // qs contains the query string. 
    // this would be "page=thesis-options&upgraded=true" in your case. 
} 
else { 
    // there was no query string in document.referrer. 
} 
+0

merci beaucoup – abhis

0

Il y a quelques fonctions autour de le faire. Voir this par exemple.