我想将对象字符串化为查询字符串。
例如,
{ hello: '123', goodbye: "789" }
会给我......
hello=123&goodbye=789
答案 0 :(得分:5)
有一个优秀的网址库,URL.js与您描述的查询功能非常相似。
对于您的示例,代码为:
URI().addSearch({ hello: '123', goodbye: "789" }).toString()
这会产生预先?
的结果,但它对于构建和放置非常方便。操纵真实的URL。
答案 1 :(得分:4)
如果您在项目中使用jQuery,则不需要使用lib:
$.param({ hello: '123', goodbye: "789" })
但由于没有jQuery标记,请查看Barney
答案,这可能就是您所需要的。
答案 2 :(得分:0)
以下是简单案例的代码示例:
var params={ hello: '123', goodbye: "789" },
pairs=[];
for (var key in params) {
if (params.hasOwnProperty(key)) {
pairs.push(key+"="+encodeURIComponent(params[key]));
}
};
var qs=pairs.join("&");
对于更复杂的方案,您可能希望像其他回复中所建议的那样使用URLjs等库。