Convertir objet javascript pour les paramètres d'URL
Je me rends compte que, fondamentalement, je vais probablement au sujet de cette façon le mal donc je suis ouvert à toutes les pousse dans la bonne direction.
Je suis en train d'utiliser le HipChat API pour envoyer une notification à une chambre de la sorte:
https://www.hipchat.com/docs/api/method/rooms/message
Je suis en train de construire l'URL dans l'exemple avec un js de paramètres de l'objet, donc, fondamentalement, je suis en train de convertir ce:
var hipChatSettings = {
format:"json",
auth_token:token,
room_id: 1,
from: "Notifications",
message: "Message"
}
À ceci:
- Double Possible de Comment sérialiser un Objet dans une liste de paramètres?
Vous devez vous connecter pour publier un commentaire.
Vous devriez vérifier ce jQuery.param fonction.
JS:
HTML:
Avertissement: newish JavaScript. Si vous voulez qu'il fonctionne sur les anciens, cale ou de réécriture dans
for
.Quelque chose comme cela pourrait fonctionner pour vous
Si vous ne pouvez pas dépendre ECMAScript 5, vous pouvez utiliser une simple boucle for
function makeParams(params) => { return params ? '?' + Object.keys(params).map((key) => ([key, params[key]].map(encodeURIComponent).join("="))).join("&") : '' }
qui vous pouvez simplement ajouter sur votre chemin,path + makeParams(params)
et il ne gère pas défini, la valeur null et{}
ES6 version, peut faire vraiment des objets imbriqués avec les tableaux
La fin de la danse, mais j'ai bien aimé la brièveté de cette: