Le formatage manuel de la chaîne de requête convient pour les situations simples. Mais cela peut devenir fastidieux lorsque les paramètres sont nombreux.
Vous pouvez écrire une fonction utilitaire simple qui se charge de la mise en forme de la requête.
function formatParams( params ){
return "?" + Object
.keys(params)
.map(function(key){
return key+"="+encodeURIComponent(params[key])
})
.join("&")
}
Et vous l'utiliseriez de cette façon pour construire une demande.
var endpoint = "https://api.example.com/endpoint"
var params = {
a: 1,
b: 2,
c: 3
}
var url = endpoint + formatParams(params)
//=> "https://api.example.com/endpoint?a=1&b=2&c=3"
Il existe de nombreuses fonctions utilitaires permettant de manipuler les URL. Si vous avez JQuery dans votre projet, vous pourriez donner à http://api.jquery.com/jquery.param/ un essai.
Elle est similaire à la fonction d'exemple ci-dessus, mais gère la sérialisation récursive d'objets et de tableaux imbriqués.