将 javascript 对象转换为 url 查询
Posted
技术标签:
【中文标题】将 javascript 对象转换为 url 查询【英文标题】:Convert javascript object into a url query 【发布时间】:2014-12-30 16:22:33 【问题描述】:我正在尝试做与this question 相反的操作,即将javascript 对象转换为url 末尾的查询。这是针对键/值方面潜在的巨大且完全随机的字符串。例如,
activity = myKey:"randomString"
'<img src="images/image.gif?' + activity + '">'
会还给我的:
<img src='images/image.gif?myKey:"randomString"'>
【问题讨论】:
http://***.com/q/5505085/798682 的重复项?我看到您的示例有所不同,但您的“与此问题相反”匹配。 【参考方案1】:var queryValues=
param:"0",
s:"stack",
o:"overflow",
myKey:"randomString"
;
var qparts=Object.keys(queryValues).map(function(k)
return [k,queryValues[k]].map(encodeURIComponent).join("=");
);
var queryString=qparts.length?"?"+qparts.join("&"):"";
/*
queryString:
?param=0&s=stack&o=overflow&myKey=randomString
*/
然后通过与 queryString 连接来修改原始 url。像这样:
images/image.gif?param=0&s=stack&o=overflow&myKey=randomString
另外,根据您的问题,您想要一个如下所示的网址:
images/image.gif?myKey:"randomString"
这看起来格式不正确,与您链接到的另一个问题中发布的内容不完全相反。所以我给了你一个 sn-p 来生成一个格式良好的查询字符串。
【讨论】:
【参考方案2】:var myURL = '<img src="images/image.gif?' + JSON.stringify(activity) + '">';
【讨论】:
你真的想做encodeURIComponent(JSON.stringify(activity))
。
他说的,在编码方面,特别是你想解决什么问题?以上是关于将 javascript 对象转换为 url 查询的主要内容,如果未能解决你的问题,请参考以下文章