3 回答
TA贡献1876条经验 获得超5个赞
对于查询字符串参数,您可以使用encodeURIComponent
正确编码字符串。使用Array.map
循环的钥匙,并通过合并最终的结果Array.join
是这样
let params = Object.keys(payload).map(el => `${el}=${encodeURIComponent(payload[el])}`).join('&')
如果你payload
是{countryId: "1", clubId: "2", playerName: "ronal do "}
在PARAMS变得"countryId=1&clubId=2&playerName=ronal%20do%20"
和它传递给正确请求
TA贡献1785条经验 获得超8个赞
function formatQuery(payload) {
var params = '';
if (payload.countryId && payload.countryId.trim().length) params += `countryId=${encodeURIComponent(payload.countryId.trim())}&`;
if (payload.clubId && payload.clubId.trim().length) params += `clubId=${encodeURIComponent(payload.clubId.trim())}&`;
if (payload.playerName && payload.playerName.trim().length) params += `playerName=${encodeURIComponent(payload.playerName.trim())}`;
console.log(params);
return params;
}
formatQuery({countryId: "1", clubId: "2", playerName: "ronaldo"});
formatQuery({countryId: "1", clubId: "2"});
formatQuery({playerName: "ronaldo"});
TA贡献1860条经验 获得超8个赞
如果您愿意,可以使用 npm 模块query-string
。链接:https : //www.npmjs.com/package/query-string。
然后,您可以将 JSON 对象直接转换为格式良好的搜索参数。它还提供编码功能。
添加回答
举报