Pour les paramètres GET, vous pouvez les récupérer à partir de document.location.search
:
var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
return decodeURIComponent(s.split("+").join(" "));
}
$_GET[decode(arguments[1])] = decode(arguments[2]);
});
document.write($_GET["test"]);
Pour les paramètres POST, vous pouvez sérialiser l' $_POST
objet au format JSON dans une <script>
balise:
<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["test"]);
</script>
Pendant que vous y êtes (faire des choses côté serveur), vous pouvez également collecter les paramètres GET sur PHP:
var $_GET = <?php echo json_encode($_GET); ?>;
Remarque: vous aurez besoin de PHP version 5 ou supérieure pour utiliser la json_encode
fonction intégrée.
Mise à jour: voici une implémentation plus générique:
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {},
tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}
var $_GET = getQueryParams(document.location.search);
Il existe un plugin pour jQuery pour obtenir les paramètres GET appelé .getUrlParams
Pour POST, la seule solution est de faire écho au POST dans une variable javascript en utilisant PHP, comme Moran l'a suggéré.
la source
pourquoi ne pas utiliser le bon vieux PHP? par exemple, disons que nous recevons un paramètre GET 'target':
la source
Ou vous pouvez utiliser celui-ci http://plugins.jquery.com/project/parseQuery , il est plus petit que la plupart (449 octets minifiés), retourne un objet représentant des paires nom-valeur.
la source
Avec n'importe quel langage côté serveur, vous devrez émettre les variables POST en javascript.
.NET
Faites juste attention aux valeurs vides. Si la variable que vous essayez d'émettre est réellement vide, vous obtiendrez une erreur de syntaxe javascript. Si vous savez que c'est une chaîne, vous devez la mettre entre guillemets. S'il s'agit d'un entier, vous voudrez peut-être tester pour voir s'il existe réellement avant d'écrire la ligne en javascript.
la source
Vous pouvez essayer le plugin Query String Object pour jQuery.
la source
Voici de quoi rassembler toutes les
GET
variables d'un objet global, une routine optimisée sur plusieurs années. Depuis la montée en puissance de jQuery, il semble maintenant approprié de les stocker dans jQuery lui-même, je vérifie avec John une implémentation potentielle du cœur.Exemple d'utilisation:
J'espère que cela t'aides. ;)
la source
Les plugins jQuery semblent bien mais ce dont j'avais besoin, c'est d'une fonction js rapide pour analyser les paramètres get. Voici ce que j'ai trouvé.
http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx
la source
Si votre $ _GET est multidimensionnel, c'est peut-être ce que vous voulez:
la source
simple, mais pourtant utile pour obtenir des variables / valeurs à partir de l'URL:
Je l'ai trouvé quelque part sur Internet, juste corrigé quelques bugs
la source
Utilisez la fonction suivante:
et accédez aux variables comme
vars['index']
où'index'
est le nom de la variable get.la source
http://foo.com/?a=b#bar
. Il pense queb#bar
c'est la valeur poura
.remplacez VARIABLE_KEY par la clé de la variable pour obtenir sa valeur
la source
Pour mémoire, je voulais connaître la réponse à cette question, j'ai donc utilisé une méthode PHP:
De cette façon, tous mes javascript / jquery qui s'exécutent après cela peuvent accéder à tout dans les jGets. C'est une belle solution élégante que je ressens.
la source
Mon approche:
la source