me gustaría conseguir algo como¿Cómo convierto un diccionario de javascript en una cadena de url codificada?
?key=value?key=value
de un diccionario js que es
{
key:value,
key:value
}
me gustaría conseguir algo como¿Cómo convierto un diccionario de javascript en una cadena de url codificada?
?key=value?key=value
de un diccionario js que es
{
key:value,
key:value
}
Si se utiliza jQuery, puede utilizar jQuery.param
:
var params = { width:1680, height:1050 };
var str = jQuery.param(params);
// str is now 'width=1680&height=1050'
De lo contrario, aquí es una función que lo hace:
function serialize(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
}
alert(serialize({test: 12, foo: "bar"}));
Uso:?' Var str = $ .param (params); 'en cambio ahora. – danger89
Lo mismo en ECMAScript 2016:
let params = { width:1680, height:1050 };
// convert object to list -- to enable .map
let data = Object.entries(params);
// encode every parameter (unpack list into 2 variables)
data = data.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`);
// combine into string
let query = data.join('&');
console.log(query); // => width=1680&height=1050
O, como un solo forro:
let params = { width:1680, height:1050 };
Object.entries(params).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join('&');
// => "width=1680&height=1050"
Creo que significa 'clave = valor & key = valor' :) –