97 votes

Comment obtenir les variables GET et POST avec JQuery ?

Comment puis-je obtenir simplement les valeurs GET et POST avec JQuery ?

Ce que je veux faire, c’est quelque chose comme ceci :

175voto

Ates Goral Points 47670

Pour OBTENIR les paramètres, vous pouvez les saisir à partir d' 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 en <script> balise:

<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;

document.write($_POST["test"]);
</script>

Pendant que vous y êtes (choses à faire côté serveur), vous pourriez recueillir les paramètres GET sur de PHP:

var $_GET = <?php echo json_encode($_GET); ?>;

Remarque: Vous aurez besoin de PHP version 5 ou ultérieure pour utiliser le haut- json_encode fonction.


Mise à jour: Voici un plus générique de mise en œuvre:

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);

16voto

Leandro Ardissone Points 1019

Il existe un plugin pour jQuery pour obtenir GET params appelé .getUrlParams

Poste la seule solution se fait l’écho le POST dans une variable javascript à l’aide de PHP, comme Moran a suggéré.

6voto

tony gil Points 2966

Pourquoi ne pas utiliser de bon vieux PHP ? par exemple, disons que nous recevons un paramètre GET « cible » :

3voto

EndangeredMassa Points 9532

Avec n’importe quel langage côté serveur, vous devrez émettre les variables POST dans javascript.

.NET

Juste faire attention de valeurs vides. Si la variable que vous tentez d’émettre est réellement vide, vous obtiendrez une erreur de syntaxe javascript. Si vous savez que c’est une chaîne, vous devriez envelopper dans citations. Si c’est un nombre entier, vous pouvez tester pour voir si elle existe réellement avant d’écrire la ligne javascript.

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