有效的查询参数-通过URL

时间:2018-11-23 09:42:20

标签: javascript url query-parameters

每次我都需要在我一直使用http://example.com?something=value&else=value的URL中允许查询参数。

但是,最近我需要将JSON对象转换为URL中的查询参数,以使其看起来像key=value&key2=value2才能在URL中传递,而我的同事问我为什么要使用这种技术在URL中转换对象URL,而不是像下面这样直接将相同的JSON对象字符串化并插入URL中:http://example.com?data='{"key":"value", "key2:"value2"}'

虽然我的同事的建议对我来说很丑陋,但我无法为他提供答案,只是大多数网站通过http://example.com?something=value.练习超过他的推荐来传递参数。

如果我使用查询参数技术?key=value,则可以受益于Javascript的内置功能,例如URLSearchParams,以使用URL中传递的数据。

根据同事的建议,我可以简单地将字符串转换回对象,并查询具有对象中功能的URL。

每种方法的缺点是什么?为什么我要使用另一种方法呢?

1 个答案:

答案 0 :(得分:0)

当您传递敏感数据时,您可以在base64中对数据进行编码,然后在另一端对数据进行解码,这样您的数据将是安全的

例如

let inBase64=btoa(JSON.stringify({name:'tom'}))
let url=`http://example.com?data=${inBase64}`

另一端将其重新转换回

let jsonData=JSON.parse(atob(data))

对于敏感数据,这不是一个好方法,而且它也是网址limit