每次我都需要在我一直使用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。
每种方法的缺点是什么?为什么我要使用另一种方法呢?
答案 0 :(得分:0)
当您传递敏感数据时,您可以在base64中对数据进行编码,然后在另一端对数据进行解码,这样您的数据将是安全的
例如
let inBase64=btoa(JSON.stringify({name:'tom'}))
let url=`http://example.com?data=${inBase64}`
另一端将其重新转换回
let jsonData=JSON.parse(atob(data))
对于敏感数据,这不是一个好方法,而且它也是网址limit