【问题标题】:Convert javascript object into a url query将 javascript 对象转换为 url 查询
【发布时间】: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"}'>

【问题讨论】:

标签: javascript


【解决方案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))
    • 他说的,在编码方面,特别是你想解决什么问题?
    猜你喜欢
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多