我有以下网址:
http://www.test.com/?client=xyz&redirect_uri=http://www.xyz.com/x?p1=one&p2=two
我应该如何对这些进行url编码,以便当test.com
实际上是redirect_uri
参数的一部分时,浏览器不会将p1和p2解释为{{1}}的查询字符串。
答案 0 :(得分:3)
我引用使用JavaScript的this question。和Dustin Boswell的this answer。
encodeURIComponent()
应该有效。例如,
'&url=' + encodeURIComponent("http://a.com/?q=query&n=10")
产生
"&url=http%3A%2F%2Fa.com%2F%3Fq%3Dquery%26n%3D10"
(该值中没有'&'或'?')。 当您的服务器获得此URL时,它应该能够解码它以获取原始文件:
param["url"] = "http://a.com/?q=query&n=10"
我不确定你正在使用什么服务器(例如Rails,Django,......),但这应该在任何正常系统上“开箱即用”。