2011-08-12 9 views

Respuesta

17

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"})); 
+1

Uso:?' Var str = $ .param (params); 'en cambio ahora. – danger89

4

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" 
Cuestiones relacionadas