2011-08-12 114 views

回答

17

如果使用jQuery的,你可以使用jQuery.param

var params = { width:1680, height:1050 }; 
var str = jQuery.param(params); 
// str is now 'width=1680&height=1050' 

否则,在这里是一个功能:

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

用途:'无功海峡= $ .param(params); '而不是现在。 – danger89

4

在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 

或者,如单内胆:

let params = { width:1680, height:1050 }; 
Object.entries(params).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join('&'); 
// => "width=1680&height=1050" 
相关问题