将javascript对象转换为url查询

Convert javascript object into a url query

本文关键字:url 查询 转换 javascript 对象      更新时间:2023-09-26

我正试图做与这个问题相反的事情,即将JavaScript对象转换为url末尾的查询。这是针对一个潜在的巨大的、完全随机化的字符串的键/值。例如,

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

会还给我的:

<img src='images/image.gif?{myKey:"randomString"}'>
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"}

它看起来格式不正确,与你链接到的另一个问题中发布的内容并不完全相反。所以我给了你一个片段来生成一个格式良好的查询字符串。

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