2010-12-15 86 views

Répondre

1

ici est une fonction qui retourne un tableau de variables de l'URL

function getUrlVars() 
{ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 

    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 

    return vars; 
} 
+0

Je pense que je l'ai aussi fait à partir d'un formulaire, si cela aide tout. – IceCat

+0

voulez-vous dire que vous l'avez également fait à partir d'une méthode de publication? S'il s'agit d'un post, javascript ne peut pas l'analyser. – kjy112

0

JavaScript n'a pas de façon native de le faire. La plupart des fonctions que j'ai vues impliquent de passer le nom du paramètre que vous recherchez, puis d'utiliser RegEx pour l'obtenir à partir de l'URL. Utilisation de la fonction de:

Get URL Parameters using JavaScript

Votre code ressemblerait à ceci:

var saysVal = gup('says'); 
1

This est un URI autonome bibliothèque analyse syntaxique qui peut gérer toute URI que vous pouvez imaginer (selon l'auteur) et permet vous de travailler avec URI comme vous le feriez d'un objet JS (ce qui est agréable)

Exemples:

uri = new jsUri('http://user:[email protected]:81/index.html?q=books#fragment'); 

uri.protocol(); // http 
uri.userInfo(); // user:pass 
uri.host();  // www.test.com 
uri.port();  // 81 
uri.path();  // /index.html 
uri.query(); // q=books 
uri.anchor(); // fragment 
0

Si vous utilisez jQuery il y a un plugin pour cela:

https://github.com/allmarkedup/jQuery-URL-Parser

Son utilisation est assez facile aussi.

Si vous voulez récupérer la chaîne de requête de l'URL actuelle:

jQuery.url.attr("query")

Si vous voulez récupérer la chaîne de requête à partir d'une autre URL:

jQuery.url.setUrl("http://example.com?id=123").attr("query")

Le plugin peut également être utilisé pour analyser d'autres parties d'un URI telles que:

    Protocole
  • (http, https, ...)
  • hôte
  • ancre

etc ..

  • Christian