Je me demande s'il y a quelque chose d'intégré à Javascript qui peut prendre un formulaire et retourner les paramètres de la requête, par exemple : "var1=value&var2=value2&arr[]=foo&arr[]=bar..."
Je me pose cette question depuis des années.
Je me demande s'il y a quelque chose d'intégré à Javascript qui peut prendre un formulaire et retourner les paramètres de la requête, par exemple : "var1=value&var2=value2&arr[]=foo&arr[]=bar..."
Je me pose cette question depuis des années.
Vous n'avez pas vraiment besoin d'un formulaire pour faire cela avec Prototype. Il suffit d'utiliser Fonction Object.toQueryString :
Object.toQueryString({ action: 'ship', order_id: 123, fees: ['f1', 'f2'], 'label': 'a demo' })
// -> 'action=ship&order_id=123&fees=f1&fees=f2&label=a%20demo'
Je sais que cette réponse est très tardive mais elle fonctionne très bien...
var obj = {
a:"a",
b:"b"
}
Object.entries(obj).map(([key, val])=>`${key}=${val}`).join("&");
note : object.entries retournera des paires clé-valeur.
La sortie de la ligne ci-dessus sera a=a&b=b
J'espère que cela aidera quelqu'un.
Joyeux codage...
Comme le dit Stein, vous pouvez utiliser la bibliothèque javascript prototype à partir de http://www.prototypejs.org . Inclure le JS et c'est très simple alors, $('formName').serialize()
vous rendra ce que vous voulez !
Pour ceux d'entre nous qui préfèrent jQuery, vous utiliserez le plugin de formulaire : http://plugins.jquery.com/project/form qui contient une méthode formSerialize.
Il est probablement trop tard pour répondre à votre question.
J'avais la même question et je n'aimais pas avoir à ajouter des chaînes de caractères pour créer une URL. J'ai donc commencé à utiliser $.param comme techhouse expliqué.
J'ai aussi trouvé un URI.js qui crée les URLs facilement pour vous. Il existe plusieurs exemples qui vous aideront : Documentation sur URI.js .
Voici l'un d'entre eux :
var uri = new URI("?hello=world");
uri.setSearch("hello", "mars"); // returns the URI instance for chaining
// uri == "?hello=mars"
uri.setSearch({ foo: "bar", goodbye : ["world", "mars"] });
// uri == "?hello=mars&foo=bar&goodbye=world&goodbye=mars"
uri.setSearch("goodbye", "sun");
// uri == "?hello=mars&foo=bar&goodbye=sun"
// CAUTION: beware of arrays, the following are not quite the same
// If you're dealing with PHP, you probably want the latter…
uri.setSearch("foo", ["bar", "baz"]);
uri.setSearch("foo[]", ["bar", "baz"]);`
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.