-2

我想将一个对象字符串化为一个查询字符串。

例如,

{ hello: '123', goodbye: "789" }

会给我...

hello=123&goodbye=789
4

3 回答 3

5

有一个出色的 URL 库URL.js,它的工作原理与您描述的查询非常相似。

对于您的示例,代码将是:

URI().addSearch({ hello: '123', goodbye: "789" }).toString()

这会产生带有前置的结果?,但它对于构建和操作真实 URL 非常方便。

于 2013-03-01T18:32:10.797 回答
4

如果您在项目中使用 jQuery,则不需要 lib:

$.param({ hello: '123', goodbye: "789" })

但是由于没有 jQuery 标签,请看一下Barney答案,这可能是您需要的。

于 2013-03-01T18:34:49.023 回答
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 之类的库。

于 2013-03-01T18:51:20.857 回答