将javascript对象转换为url查询

时间:2014-11-03 21:54:31

标签: javascript

我正在尝试与this question相反,即将JavaScript对象转换为url末尾的查询。这是针对键/值的潜在巨大且完全随机化的字符串。例如,

activity = {myKey:"randomString"}

'<img src="images/image.gif?' + activity + '">'

会让我回来:

<img src='images/image.gif?{myKey:"randomString"}'>

2 个答案:

答案 0 :(得分: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"}

哪个出现格式不正确,与您链接到的其他问题中发布的内容不完全相反。所以我给了你一个片段来代替生成一个结构良好的查询字符串。

答案 1 :(得分:0)

var myURL = '<img src="images/image.gif?' + JSON.stringify(activity) + '">';