Javascript 作为url参数传递url的推荐方法是什么?
使用Javascript 作为url参数传递url的推荐方法是什么?,javascript,Javascript,使用&url='+encodeURIComponent(url)将URL从浏览器传递到服务器将对URL进行编码,但在服务器上解码时,URL的参数将被解释为单独的参数,而不是单个URL参数的一部分 建议以什么方式将url作为url参数传递?使用escape()对其进行url编码,它将对符号进行编码,这样就不会发生这种情况 使用“&url=”+encodeURIComponent(url);将URL从浏览器传递到服务器将对URL进行编码 是的,这就是你应该做的encodeURIComponent是编
&url='+encodeURIComponent(url)
将URL从浏览器传递到服务器将对URL进行编码,但在服务器上解码时,URL的参数将被解释为单独的参数,而不是单个URL参数的一部分
建议以什么方式将url作为url参数传递?使用escape()对其进行url编码,它将对符号进行编码,这样就不会发生这种情况
使用“&url=”+encodeURIComponent(url);将URL从浏览器传递到服务器将对URL进行编码
是的,这就是你应该做的encodeURIComponent
是编码文本值以放入查询字符串的正确方法
但在服务器上解码时,url的参数被解释为单独的参数,而不是单个url参数的一部分
那服务器确实坏了。如果这真的发生了,您需要在服务器端修复它
代码?encodeURIComponent()
应该可以工作。比如说,
'&url=' + encodeURIComponent("http://a.com/?q=query&n=10")
产生
"&url=http%3A%2F%2Fa.com%2F%3Fq%3Dquery%26n%3D10"
(该值中没有任何&
或?
)。
当您的服务器获取此url时,它应该能够解码该url以获取原始url:
param["url"] = "http://a.com/?q=query&n=10"
我不确定您使用的是哪台服务器(如Rails、Django等),但这在任何正常系统上都应该是“开箱即用”的。老实说,使用Google URL Shortener。然后,您可以在URL查询字符串中使用URL代码:
在您的应用程序中,将其作为Google URL Shortener域名的前缀,并执行重定向。这也通过谷歌分析增加了对URL的跟踪。这种方法有很多优点。只需一个短代码并添加跟踪数据。
转义
类似于encodeURIComponent
,但会为+
字符和任何非ASCII字符生成错误的输出。永远不要使用它。